如何在我的UITableView中使用我的UITextField显示键盘?

时间:2012-01-31 22:29:11

标签: ios uitableview uitextfield

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中,但结果相同。

1 个答案:

答案 0 :(得分:0)

您一次只有一个自定义tableviewcell吗?如果是这样,那么不使用tableview就可以轻松实现您的目标。

如果您有多个单元格(或一个单元格),则需要确保您的类是UITextFieldDelegate。然后在您的cellForRowAtIndexPath函数中获取当前文本字段并将textField的委托指定给self。

然后将以下函数添加到您的实现中:

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{
     [textField becomeFirstResponder];
}