3

我有一段简单的代码适用于除 iOS4 之外的所有系统。这是关于辞去 UITextField 的第一响应者的职务。文本字段已全部连接,这是委托的代码:

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

我已经尝试了几乎所有可能的方式,也尝试返回 NO 并且它不起作用。最奇怪的是,它确实可以在 4.0 之前的每个 iphone 操作系统和 iPad 上运行(在模拟器和实际设备上测试)有人可以帮忙吗?

4

3 回答 3

4

这适用于我在 iOS4 中的 3GS。您确定您正确设置了UITextField委托吗?

- (BOOL) textFieldShouldReturn:(UITextField*)textField {
[textField resignFirstResponder];
return YES;
}
于 2010-07-06T12:47:30.117 回答
1

不确定这是否与您的情况相似,但我在 aUITextField中遇到了UIAlertView一个类似的问题,即键盘未在resignFirstResponder.

这是我的解决方案:

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

好像是辞职firstResponder后才发出警报的。textfield

于 2010-09-07T18:52:11.893 回答
0

这是一个非常经典的问题。我假设您正在将委托设置为您的 textField 但问题是在哪里?您是否在控制器的 initWithNib... 初始化程序中进行设置?那是错误的。因为那时您的文本字段尚未初始化。它在 viewDidLoad 方法中初始化,所以你应该在那里设置你的委托,它应该可以工作。

于 2012-05-23T14:35:44.813 回答