在iOS 6.x中的UITableViewCell中,键盘未显示UITextField

时间:2013-02-28 10:55:31

标签: uitableview ios6 keyboard uitextfield uitextfielddelegate

在iPhone / iPad应用程序上工作, 问题:在iOS 6.x的UITableViewCell中,键盘没有显示UITextField,但相同的代码在iOS 5.x上正常工作

我们开发了一个UIViewController,我们在其中创建了tableview。在此tableview中,我们添加了textfield单元格。因此textfield显示光标,但它不会启动键盘,也不会移动光标。 (iOS 5.x上的每一件事都可以正常工作)

UITableView *localTable=[[UITableView alloc]initWithFrame:tableFrame style:UITableViewStyleGrouped];
    self.tblScheduleBasicInfo=localTable;
    [localTable release];  //release the localTable
enter code here

@interface CustomTextFieldCell : UITableViewCell {
    UITextField *cellTextField;     
}

    CustomTextFieldCell *tfCell2;

    tfCell2=(CustomTextFieldCell *)[tableView dequeueReusableCellWithIdentifier:textFieldIdentifier1];

    if(tfCell2==nil)
     {
          tfCell2=[[[CustomTextFieldCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:textFieldIdentifier1]autorelease];
       }
                tfCell2.cellTextField.delegate=self;  //set the delegate to self to implement textField delegate methods in self
                tfCell2.userInteractionEnabled=YES;

调用委托,但键盘没有显示。

我们尝试过以下SO中提到的选项,但没有运气

SO Link 1

SO Link 2

SO Link 3

欢迎所有建议..非常感谢。

1 个答案:

答案 0 :(得分:0)

在点击单元格之前,您的表格单元格将成为事件响应者。要使键盘显示在文本字段上,您需要使文本字段消耗事件响应为:

tableView:didSelectRow:atIndex方法中:

[self.cellTextField becomeFirstResponder]