在UITextField中退出键盘
我正在使用iOS 5上的故事板,并且有一个简单的屏幕,其上有一个UITextField
。我想在用户点击“返回”时关闭键盘。我跟着其他建议,例如有我的控制器实现了UITextFieldDelegate
协议并实现textFieldShouldReturn:
如下:在UITextField中退出键盘
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[questionField resignFirstResponder];
return YES;
}
但是我看到这个方法不会被调用。我将故事板中的视图控制器设置为我自定义的UIViewController
。
我也尝试了不同的实现方式,其中我创建一个名为IBAction
但dismissKeyboard
奇怪我可以Did Exit
动作无法连接到我UITextField
。
任何想法?
更新:所以问题似乎是我使用UITextView而不是UITextField。我想要一个大面积的文字输入。当我将输入字段更改为UITextField时,它工作正常。有关如何使它与UITextView一起工作的任何想法?
您应该将dismiss方法连接到文本字段的Did End Editing
操作。
我试过这样做,但奇怪的是,当我选择行动uner'收到行动',并悬停在uitextfield它不会突出显示。 – imrank1 2012-01-16 05:13:22
因此,为UITextView退出键盘的解决方案是实现shouldChangeTextInRange。
如果你想在键盘驳回当轻敲了TextView的返回键使用该委托功能,
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
在这段代码中,当我们用2段粘贴文本时,它不会粘贴数据 – 2012-09-13 10:53:18
有你'设置= questionField.delegate其中self''self'可能是控制器,你创建了你的'UItextField'?也尝试实现'textFieldDidEndEditing:'。只要编辑会话完成,就会调用此方法(例如,当用户关闭键盘时)。 – 2012-01-15 16:44:01