我想在iPhone的
这是我做的事情:
1)在XCode4中创建了一个基于视图的应用程序。
2)在.xib中创建了
3)在Outlets中将
4)在.h中添加
5)在.m中添加
以下是代码: .h文件
当我按下按钮时,键盘会在两个文本框中消失。让我感到困惑的是,textFieldShouldReturn 对于小文本框有效,但对于大文本框无效。请帮忙!
UITextView
对象中,当用户按下Return键时隐藏键盘。然而,神奇的是这对于UITextView
不起作用,但对于UITextField
起作用。我无法弄清楚原因...这是我做的事情:
1)在XCode4中创建了一个基于视图的应用程序。
2)在.xib中创建了
UITextView
、UITextField
和UIButton
对象。3)在Outlets中将
UITextField
和UITextView
委托给File's Owner。4)在.h中添加
<UITextFieldDelegate>
到@interface UIViewController。5)在.m中添加
textFieldShouldReturn
函数。以下是代码: .h文件
@interface keyboardDisappearViewController : UIViewController <UITextFieldDelegate>
{
UITextView *textBoxLarge;
UITextField *textBoxLittle;
}
@property (nonatomic, retain) IBOutlet UITextView *textBoxLarge;
@property (nonatomic, retain) IBOutlet UITextField *textBoxLittle;
- (IBAction)doSomething:(id)sender;
@end
.m file
- (BOOL) textFieldShouldReturn:(UITextField *)theTextField
{
NSLog(@"textFieldShouldReturn Fired :)");
[textBoxLarge resignFirstResponder];
[textBoxLittle resignFirstResponder];
return YES;
}
令人惊讶的是,在textBoxLittle(UITextField)中,键盘消失了,但在textBoxLarge(UITextView)中没有消失。
为了进一步检查,我将按钮设置为调用函数doSomething。
- (IBAction)doSomething:(id)sender {
[textBoxLarge resignFirstResponder];
[textBoxLittle resignFirstResponder];
}
当我按下按钮时,键盘会在两个文本框中消失。让我感到困惑的是,textFieldShouldReturn 对于小文本框有效,但对于大文本框无效。请帮忙!
@interface keyboardDisappearViewController:UIViewController<UITextFieldDelegate>
。如何同时写<UITextFieldDelegate>
和<UITextViewDelegate>
? - jerrymouse<UITextFieldDelegate>
更改为@interface keyboardDisappearViewController: UIViewController <UITextViewDelegate>
。textBoxLittle已经很好地工作了。我发现添加/删除<UITextFieldDelegate>
对textBoxLittle没有任何影响...只有uitextview才会出现问题。 - jerrymouse