UITableViewCell内的UITextField不会在iPad上激活,但可以在iPhone上运行

时间:2010-06-10 23:13:33

标签: iphone uitableview ipad uitextfield

我在UITableViewCell中有一个UITextField。无论我尝试什么,它都不会在iPad上激活(但它在iPhone上运行正常)。点击它并告诉它成为第一个响应者都失败了。奇怪的是,如果我采用完全相同的代码并将其移动到我的应用程序中的另一个视图控制器,它执行得很好。这使得看起来好像在父UITableViewController中可能有问题,但我找不到任何明显的东西。我希望那里的某个人遇到类似的问题,可以指出我正确的方向。

下面是示例代码,当我将其移动到新项目或将其放入我的应用代表立即启动的新视图控制器中时,它可以正常工作:

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

if (indexPath.row == 0) {
    UITextField *nameText = [[UITextField alloc] initWithFrame:CGRectMake(5, 5, cell.contentView.frame.size.width, cell.contentView.frame.size.height)];
    nameText.delegate = self;
    nameText.backgroundColor = [UIColor redColor];

    [cell.contentView addSubview:nameText];

    [nameText becomeFirstResponder];
    [nameText release];

}

// Configure the cell...

return cell;
}

帮助!

1 个答案:

答案 0 :(得分:0)

对我而言,如果我只是问这个问题,我会在几分钟后找到答案。事实证明,在确实要求第一个响应者但没有辞职之前,我确实有一个观点。生活和学习!