我想知道如何辞退数字文本字段?
我的viewDidLoad
方法中有一个循环创建了textfields
,当我触摸视图中的任何地方时,我该怎么做才能解开键盘?
答案 0 :(得分:3)
致电endEditing:
。这样做的好处是您不需要知道第一响应者实际上是谁!它是一个UIView方法,它在所有子视图上运行,你在UIViewController中,所有这些文本字段都是它的子视图,所以你可以简单地说:
[self.view endEditing:YES];
至于,其中放置那行代码,这取决于你想要做出什么反应。你说“每当我触摸视图中的任何地方”;但是什么看法?如果它是UIViewController的整体视图,那么,正如已经指出的那样,您可以在self.view
上放置一个UITapGestureRecognizer,并使其操作方法处理程序调用{{1}},如图所示。
答案 1 :(得分:2)
同样,您可以重新调整常规(非数字)文本字段。
将视图控制器设置为文本字段委托,编辑完成后,您可以在该文本字段上resignFirstResponder,键盘将解除。
You can also use a UITapGestureRecognizer assigned to the view and then call resignFirstResponder when it's hit(示例代码可以在我连接的这两个链接中找到)。
答案 2 :(得分:0)
你也可以在UIView的背景触摸上工作。我已经给出了以下步骤。
1)将UIView的类更改为UIControl。
2)从UIControl事件的触碰事件中拖出控制。
3)连接到文件所有者背景触摸IBAction方法。并编写代码以辞职第一响应者。
-(IBAction)backgroundtouch:(id)sender
{
[_yourTextField resignFirstResponder];
}