UITextField
中的UITableViewCell
中有一个UITableView
。所有这些都在Interface Builder中定义。 UITableView
连接到UITableViewController
并设置为其数据源和委托。 UITextField
是通过IBOutlet
/ property textEmail
引用的。如果重要的话,所有这些都在标签视图内。所有这些都启用了用户交互。
一切正常,但选择UITextField
时键盘不会显示。我可以看到textFieldDidBeginEditing
被调用,但没有键盘。我已经尝试在becomeFirstResponder
中调用viewWillAppear
并调用它,但仍然没有键盘:
- (void)viewWillAppear:(BOOL)animated {
NSLog(@"View will appear");
[textEmail becomeFirstResponder];
}
我还尝试将呼叫直接放在textFieldDidBeginEditing
以及与触摸事件相关联的IBAction
中,但结果相同。
答案 0 :(得分:0)
您一次只有一个自定义tableviewcell吗?如果是这样,那么不使用tableview就可以轻松实现您的目标。
如果您有多个单元格(或一个单元格),则需要确保您的类是UITextFieldDelegate。然后在您的cellForRowAtIndexPath函数中获取当前文本字段并将textField的委托指定给self。
然后将以下函数添加到您的实现中:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[textField becomeFirstResponder];
}