如何让键盘在我的 UITableView 中与我的 UITextField 一起显示?
Posted
技术标签:
【中文标题】如何让键盘在我的 UITableView 中与我的 UITextField 一起显示?【英文标题】:How can I get the keyboard to display with my UITextField in my UITableView? 【发布时间】:2012-01-31 22:29:11 【问题描述】:我在UITableViewCell
中有一个UITextField
,在一个UITableView
中。所有这些都在 Interface Builder 中定义。 UITableView
连接到 UITableViewController
并设置为其数据源和委托。 UITextField
通过 IBOutlet
/property textEmail
引用。如果重要的话,所有这些都在选项卡式视图中。所有这些都启用了用户交互。
一切正常,但选择UITextField
时键盘不显示。我可以看到textFieldDidBeginEditing
被调用,但没有键盘。我尝试在viewWillAppear
中调用becomeFirstResponder
并调用它,但仍然没有键盘:
- (void)viewWillAppear:(BOOL)animated
NSLog(@"View will appear");
[textEmail becomeFirstResponder];
我还尝试将调用直接放入 textFieldDidBeginEditing
以及连接到具有相同结果的触摸事件的 IBAction
。
【问题讨论】:
【参考方案1】:您一次只有一个自定义 tableviewcell 吗?如果是这样,那么不使用 tableview 来做你想做的事情会容易得多。
如果你有多个单元格(或一个单元格),那么你需要确保你的类是一个 UITextFieldDelegate。然后在您的 cellForRowAtIndexPath 函数中获取当前文本字段并将该文本字段的委托分配给 self。
然后将以下函数添加到您的实现中:
- (void)textFieldDidBeginEditing:(UITextField *)textField
[textField becomeFirstResponder];
【讨论】:
我可能应该明确指出我确实实现了UITextFieldDelegate
,但正如我原来的帖子所述,我已经尝试将becomeFirstResponder
放入textFieldDidBeginEditing
。我确实有多个自定义单元格,但只有一个这种特定类型。我也已经将UITextField
的delegate
设置为UITableViewController
。以上是关于如何让键盘在我的 UITableView 中与我的 UITextField 一起显示?的主要内容,如果未能解决你的问题,请参考以下文章
在我的 iOS 应用程序中与我的外部附件通信以播放流中的视频
如何设置正确的 Ruby 版本以在 Aptana 3 中与我的 Rails 5 项目一起使用?
仅当键盘覆盖视图时如何更改 UITableView 内容插图?