0

我正在使用 iOS 5 上的故事板,并且有一个简单的屏幕,UITextField上面有一个。当用户点击“返回”时,我想关闭键盘。我遵循了其他建议,例如让我的控制器实现UITextFieldDelegate协议并实现textFieldShouldReturn:如下:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [questionField resignFirstResponder];
    return YES;
}

但是我看到这个方法永远不会被调用。我已将情节提要中的视图控制器设置为我的 custom UIViewController

我还尝试了一个不同的实现,我创建了一个IBAction被调用dismissKeyboard但奇怪的是我无法将Did Exit操作连接到我的UITextField.

有任何想法吗?

更新:所以问题似乎是我使用的是 UITextView 而不是 UITextField。我想要一个大的区域来输入文本。当我将输入字段更改为 UITextField 时,它工作正常。关于如何使它与 UITextView 一起工作的任何想法?

4

3 回答 3

0

So the solution to resign the keyboard for a UITextView is to implement shouldChangeTextInRange.

于 2012-01-16T06:01:52.717 回答
0

您应该将驳回方法连接到文本字段的Did End Editing操作。

于 2012-01-15T15:59:06.147 回答
0

如果您希望在点击 textview 的返回键时关闭键盘,请使用此委托功能,

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

    if([text isEqualToString:@"\n"]) {
        [textView resignFirstResponder];
        return NO;
    }

    return YES;
}
于 2012-01-16T15:15:32.213 回答