UIPopover中的UITableView在显示键盘时隐藏内容

时间:2012-08-23 15:13:09

标签: ios uitableview uipopovercontroller

我在UIPopoverController中嵌入了一个UITableView,如下所示。

PopoverController in 'normal' state

当我选择一个单元格时,单元格中的textField变为firstResponder。但是,不是将tableview滚动到顶部,所有内容都会消失(即使不超过4个单元格)。这种情况发生时无法滚动到顶部。解雇键盘后,一切正常。

PopoverController while the keyboard is shown

以下代码无法解决问题:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    CRShoppingListItemCell *cell = (CRShoppingListItemCell *) [tableView   cellForRowAtIndexPath:indexPath];
    cell.itemTextField.enabled = YES;
    cell.itemTextField.delegate = self;
    [cell.itemTextField becomeFirstResponder];
    [tableView scrollToNearestSelectedRowAtScrollPosition:UITableViewScrollPositionNone animated:YES];
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

1 个答案:

答案 0 :(得分:0)

我的猜测是你没有使用UITableViewController。在该控制器的viewWillAppear内部,它检查isInViewControllerThatHandlesKeyboardAvoidance(私有),其中一个控制器是弹出控制器。因此,如果是这样,那么当桌子全屏时通常会想要的键盘避免行为。