UITableView何时实际显示UITableViewCell?

时间:2013-05-01 19:41:02

标签: ios uitableview uikit

我知道-[UITableViewDelegate tableView:willDisplayCell:forRowAtIndexPath:],但我想知道实际显示UITableViewCell的时间。

我在UITextField内有UITableViewCell,在-[UIResponder becomeFirstResponder](因此UITableViewCell)实际显示之前我无法致电UITextField

到目前为止,我可以做到这一点,但这是一个黑客攻击:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    if ([indexPath isEqual:self.textFieldIndexPath]) {
        dispatch_async(dispatch_get_main_queue(), ^{
            [self.textField becomeFirstResponder];
        });
    }
}

我还尝试覆盖-[UITableViewCell didMoveToSuperview],但只在第一次将UITableViewCell添加到UITableView时调用。当UITableViewCell是(因为后备数据已更改)然后重新添加(因为后备数据再次更改,-[UITableViewCell didMoveToSuperview]未被调用。我假设UITableView只保留所有UITableViewCells在其视图层次结构中,即使它没有显示它们。

0 个答案:

没有答案