我有一段简单的代码可以在除iOS4之外的每个系统上运行。 这是关于为UITextField辞职的第一响应者。文本字段全部连线,这是代表的代码:
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[opis resignFirstResponder];
return YES;
}
我几乎以一切可能的方式尝试过,试图返回NO也不行。最奇怪的是,它可以在4.0之前和iPad上的每个iphone OS上运行(在模拟器和实际设备上测试) 有人可以帮忙吗?
答案 0 :(得分:4)
这适用于iOS4中的3GS。您确定正确设置了UITextField
代表吗?
- (BOOL) textFieldShouldReturn:(UITextField*)textField {
[textField resignFirstResponder];
return YES;
}
答案 1 :(得分:1)
不确定这是否与您的情况类似,但我在UITextField
中有一个UIAlertView
而HAD存在类似的问题,键盘在resignFirstResponder
没有消失。
这是我的解决方案:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
[alert resignFirstResponder];
return YES;
}
firstResponder
辞职后警报似乎变为textfield
。
答案 2 :(得分:0)
这是一个非常经典的问题。我假设您将委托设置为textField但问题是在哪里?您是否在控制器的initWithNib ...初始化程序中进行了设置?那是错的。因为您的文本字段尚未初始化。它在viewDidLoad方法中初始化,所以你应该在那里设置你的委托,它应该工作。