Uitableview 自定义表视图单元格中的UITextField不再显示键盘,iOS 7

Uitableview 自定义表视图单元格中的UITextField不再显示键盘,iOS 7,uitableview,ios7,keyboard,uitextfield,Uitableview,Ios7,Keyboard,Uitextfield,我有一个为iOS 5构建的应用程序,我正试图直接升级到iOS 7,所以这可能也是iOS 6的一个问题 我们在自定义表视图单元格(从UITableCellView派生的类)中有一个UITextField,但点击它不再在模拟器中显示键盘。一切都已启用,并且已选中“已启用用户交互” 它过去在iOS 5中工作得很好 我不确定要包含什么代码,但下面是创建单元格的代码。。。LoginRegisterTableViewCell只有一个“fieldLabel”(UILabel)和“userText”(UITex

我有一个为iOS 5构建的应用程序,我正试图直接升级到iOS 7,所以这可能也是iOS 6的一个问题

我们在自定义表视图单元格(从UITableCellView派生的类)中有一个UITextField,但点击它不再在模拟器中显示键盘。一切都已启用,并且已选中“已启用用户交互”

它过去在iOS 5中工作得很好

我不确定要包含什么代码,但下面是创建单元格的代码。。。LoginRegisterTableViewCell只有一个“fieldLabel”(UILabel)和“userText”(UITextField):


如果在选择表格单元格时调用[userText becomeFirstResponder],我可以启动键盘,但这似乎是一种与正确方式相反的解决方法。

使用表格视图数据源尝试以下代码:
cellforrowatinexpath

    NSString *cellReuseIdentifier = @"CellIdentifier";
    UINib *nib = [UINib nibWithNibName:@"CustomTableViewCell" bundle:nil];
   [_myTableView registerNib:nib forCellReuseIdentifier:cellReuseIdentifier];

    CustomTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellReuseIdentifier];
    if (!cell)
    {
        cell = [[CustomTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellReuseIdentifier];
    }

    return cell;
如图所示,它正在使用用xib创建的自定义单元格为我工作

注意:标记也可以创建XIB文件

并给出一个单元重用标识符,如


这对我来说非常适用于示例应用程序,键盘没有问题。

它很有效。我认为我的设置相当陈旧,而且有几年的历史。Thanks@RichardLovejoy:与Nib相比,使用storyboard创建自定义TableView原型单元非常简单,而且使用自定义单元类可以更好地动态管理单元的内容。请参阅raywenderlich提供的本教程。
    NSString *cellReuseIdentifier = @"CellIdentifier";
    UINib *nib = [UINib nibWithNibName:@"CustomTableViewCell" bundle:nil];
   [_myTableView registerNib:nib forCellReuseIdentifier:cellReuseIdentifier];

    CustomTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellReuseIdentifier];
    if (!cell)
    {
        cell = [[CustomTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellReuseIdentifier];
    }

    return cell;