1

以下に示すように、UIPopoverController に埋め込まれた UITableView があります。

「通常」状態の PopoverController

セルを選択すると、セル内の textField が firstResponder になります。ただし、テーブルビューを一番上までスクロールしたままにする代わりに、すべてのコンテンツが消えます (セルが 4 つ以下であっても)。これが発生すると、一番上までスクロールできなくなります。キーボードを閉じると、すべてが正常に戻ります。

キーボードが表示されているときの PopoverController

次のコードは問題を解決しません。

- (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];
}
4

1 に答える 1