UITextField在UITableViewCell上没有键盘在iPad上,但iPhone确定

时间:2013-07-17 09:24:08

标签: ipad uitableview uitextfield

我有一个tableView,它有几个表单元格,TextFields作为子视图

self.cellFirstName = [[UITableViewCell alloc] initWithFrame:cellRectangle];
self.tfFirstName = [[UITextField alloc] initWithFrame:Field1Frame];
self.tfFirstName.tag = 1;
self.tfFirstName.delegate = self;
self.tfFirstName.placeholder = @"First Name";
[self.cellFirstName addSubview:self.tfFirstName];

...

if(indexPath.section == 0) {
    cell =  self.cellFirstName;
}

当您在真实iPad上触摸textField或在iPad模拟器上单击TextField时,键盘不会弹出。
可在真实和SIM卡上找到工作。

不知何故,我无法做任何让键盘弹出的事情。


如果我将其中一个textFields设置为第一响应者,那么键盘会出现,但当我关闭键盘并点击任何textFields时 - 没有 - 没有键盘。

单击或触摸textFields只会将其变为蓝色。

我甚至将iPhone故事板复制到iPad上 和
将targetRuntime更改为“iOS.CocoaTouch.iPad”
结果仍然相同。

这是我用来实现这个工作的黑客:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(indexPath.section == 0) {
        [self.tfFirstName becomeFirstResponder];
    }
    if(indexPath.section == 1) {
        [self.tfLastName becomeFirstResponder];
    } ...

我宁愿明白是什么让键盘不再弹出。

1 个答案:

答案 0 :(得分:0)

如果您有iPad的特殊代码,我想也许您已设置tfFirstName.userInteraction = NO;和/或tfFirstName.enabled = NO;或其中一个delegate方法当设备为NOiPad。请检查一下。