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 视图的宽度

从 UIText 字段的用户输入更改 UIView 框架的高度和宽度

无法更改 UIText 视图的字体(使用 Web 服务时)

如何从 UITextfields UIMenuController 中删除不需要的 UIMenuItems?

UITableViewCell 中的 UIDatePicker 更新 UITableViewCell 文本标签

更改 UITableViewCell 中的对象也更改了重用 UITableViewCell 的对象