UIViewController
中的文字字段很少。对于一些文本字段,我使用IBOutlet来创建属性。对于我以编程方式添加的一些textFields(因为它们在滚动视图中,它们不在soryboard中的视图控制器窗口的约束中。),我刚刚将它们设为不带IBOutlet
的属性。
例如,我有:
@property (weak, nonatomic) **IBOutlet** UITextField *descriptionTextBox;
@property(strong , nonatomic) UITextField *cityTextField;
现在我在ViewDidLoad
&中设置两者的代表。也在.h
档案<UITextFieldDelegate>
但是在实施- (BOOL)textFieldShouldReturn:(UITextField *)textField
方法后,键盘只返回具有IBOutlet的文本字段。我该怎么办?
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder]; //works only for text field declared in storyBoard.
return YES;
}
答案 0 :(得分:2)
在视图控制器中,说[self.view endEditing:YES]
。无论谁是第一响应者,都会关闭键盘。
答案 1 :(得分:1)
我认为查看更多代码会很有帮助。
但是,您的问题可能是您没有在UITextField上设置委托,因此只能在故事板中调用该方法。
答案 2 :(得分:1)
检查是否已将委托设置为以编程方式创建的UITextField对象。