1

我有一个 UItableViewCell 的子类

当用户触摸 CELL 时,我调用 reload,如下所示:

[_tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

// This is where magic happens...
[_tableView beginUpdates];
[_tableView endUpdates];

一个新的细胞出现了。这个新单元格成为 _workName UITextField 的第一响应者,如下所示:

@implementation TWMainViewPlusExpandedCell

- (void) awakeFromNib
{        
    [_workName becomeFirstResponder];

}

键盘出现,但没有动画。这是即时的!好像没有动画啊!

但是,当我通过调用 resignFirstResponder 退出键盘时,它会按预期以动画方式退出。

我在这里错过了什么吗?

谢谢!

4

1 回答 1

2

我认为您的单元格成为响应者并在重新加载引起的 tableview 动画之前或期间调出键盘。尝试

- (void) awakeFromNib
{        
    [_workName performSelector:@selector(becomeFirstResponder) onThread:[NSThread getMainThread] withObject:nil withDelay:0.1];

}

我质疑您为什么要重新加载表格只是为了选择一个单元格。

于 2013-07-21T12:59:36.777 回答