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

あなたのセルがレスポンダーになり、リロードによるテーブルビューのアニメーションの前または最中にキーボードが表示されると思います。試す

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

}

セルを選択するためだけにテーブルをリロードする理由を疑問に思います。

于 2013-07-21T12:59:36.777 に答える