0

我有一个 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 时,键盘不会弹出。
可在真实和模拟 iPhone 上找到。

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


如果我将其中一个文本字段设置为第一响应者,则会出现一个键盘,
但是当我关闭键盘并点击任何文本字段时 - 什么都没有 - 没有键盘。

单击或触摸文本字段只会将它们变为蓝色。

我什至将 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];
    } ...

我宁愿了解是什么阻止了键盘弹出。

4

1 回答 1

0

如果您有一些特殊代码iPad,我想您可能已经设置了tfFirstName.userInteraction = NO;和/或tfFirstName.enabled = NO;其中一种delegate方法NO在设备为iPad. 请检查那些。

于 2013-07-17T09:50:01.610 回答