关闭UITextField的键盘

时间:2014-02-05 16:53:22

标签: ios objective-c uitextfield

UIViewController中的文字字段很少。对于一些文本字段,我使用IBOutlet来创建属性。对于我以编程方式添加的一些textFields(因为它们在滚动视图中,它们不在soryboard中的视图控制器窗口的约束中。),我刚刚将它们设为不带IBOutlet的属性。

例如,我有:

@property (weak, nonatomic) **IBOutlet** UITextField *descriptionTextBox;

@property(strong , nonatomic) UITextField *cityTextField;

现在我在ViewDidLoad&amp;中设置两者的代表。也在.h档案<UITextFieldDelegate>

但是在实施- (BOOL)textFieldShouldReturn:(UITextField *)textField方法后,键盘只返回具有IBOutlet的文本字段。我该怎么办?

   - (BOOL)textFieldShouldReturn:(UITextField *)textField
    {
      [textField resignFirstResponder]; //works only for text field declared in storyBoard.

      return YES;
     }

3 个答案:

答案 0 :(得分:2)

在视图控制器中,说[self.view endEditing:YES]。无论谁是第一响应者,都会关闭键盘。

答案 1 :(得分:1)

我认为查看更多代码会很有帮助。

但是,您的问题可能是您没有在UITextField上设置委托,因此只能在故事板中调用该方法。

答案 2 :(得分:1)

检查是否已将委托设置为以编程方式创建的UITextField对象。