我只是无法使“完成”按钮退出键盘。
我在我的 controller.h 文件中使用了它
- (IBAction)textFieldDoneEditing:(id)sender;
这适用于我的 controller.m 文件
- (IBAction)textFieldDoneEditing:(id)sender {
[sender resignFirstResponer];
}
我在连接 .xib 部分时搞混了。
我只是无法使“完成”按钮退出键盘。
我在我的 controller.h 文件中使用了它
- (IBAction)textFieldDoneEditing:(id)sender;
这适用于我的 controller.m 文件
- (IBAction)textFieldDoneEditing:(id)sender {
[sender resignFirstResponer];
}
我在连接 .xib 部分时搞混了。
使控制器成为 IB 中的 UITextField/UITextView 或类似代码的委托textField.delegate = self;
已编辑:为此,您需要将控制器声明为 UITextFieldDelegate/UITextViewDelegate 的代表
@interface Controller : <UITextFieldDelegate> { ...
,然后重写方法:
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
对于 UITextField 和
-(BOOL)textViewShouldEndEditing:(UITextView *)textView{
[textView resignFirstResponder];
return YES;
}
对于 UITextView
在您的 .xib 中,右键单击您的文本视图,拖动到“文件的所有者”,然后单击“委托”。现在应该工作吗?
编辑:哎呀,对不起,我是个白痴,照其他人说的做。如果您不知道如何在代码中设置委托,您可以在 IB 中按照我的方式进行。
让我做我的第一个贡献:如果您有多个文本字段,请将它们分组到 @property(强,非原子)
*。H
@property (strong, nonatomic) IBOutletCollection(UITextField) NSArray *collectingData;
*.m
-(BOOL)textFieldShouldReturn:(UITextField *)boxes
{
for (UITextField *boxes in collectingData) {
[boxes resignFirstResponder];
}
return YES;
}