UITableViewCell 中的 UITextfield 辞职 FirstResnponder
Posted
技术标签:
【中文标题】UITableViewCell 中的 UITextfield 辞职 FirstResnponder【英文标题】:UITextfield in UITableViewCell resign FirstResnponder 【发布时间】:2011-06-07 16:50:31 【问题描述】:我在 UITableViewCell 中有一个 NumberPad 类型的 UITextfield。我怎样才能让它辞职第一响应者(即关闭键盘)? 谢谢
【问题讨论】:
【参考方案1】:您必须在界面的某处添加一个 UIButton。我经常在导航栏上这样做,然后在按下它时让第一响应者辞职。
有各种各样的方法可以在数字键盘上叠加虚假的完成按钮,但恕我直言,他们是在自找麻烦。如果 Apple 以后能解决这个问题就好了,因为很多人都有同样的问题。
这里有很好的讨论和其他解决方案;
How to show "Done" button on iPhone number pad
【讨论】:
【参考方案2】:实现UITextFieldDelegate
并将您的UITextField
委托设置为它。在-(BOOL)textFieldShouldReturn:(UITextField *)textField
委托方法中,您设置resignFirstResponder
调用。
您还可以为键盘上的按钮设置操作。您可以通过尝试将完成按钮添加到垫子来做到这一点。我知道在最近的 sdk 中这是不可能的。
对于这些情况,您有两种选择:
1.在视图的某处添加一个完成按钮。如果您使用的是导航控制器,您可以将其添加到导航栏并简单地设置该按钮的操作,并在您 resignFirstResponder 的 UITextField 的操作中。
2.将您的键盘添加到 UIActionSheet 并在键盘顶部添加完成按钮。
【讨论】:
好的,但是这个方法什么时候被调用呢?当用户按下键盘上的“return”键时? NumberPad 键盘类型上没有返回键 谢谢。正是我想要的。以上是关于UITableViewCell 中的 UITextfield 辞职 FirstResnponder的主要内容,如果未能解决你的问题,请参考以下文章
从 UIText 字段的用户输入更改 UIView 框架的高度和宽度
如何从 UITextfields UIMenuController 中删除不需要的 UIMenuItems?