1

UITableViewControlleraとUITextFieldsセルで作業しているときに奇妙な動作を観察しています。

UITextFieldsデリゲートはに設定され、編集UITableViewControllerモードに入ると、テーブルビューは関連するセルにスクロールし、キーボードによる入力を覆い隠しません。

ただし、を使用して別のViewControllerを提示すると

[self presentViewController:vc animated:TRUE  completion:^() {}];

そして後でそれを却下します

[self dismissViewControllerAnimated:YES completion:^{}];

テーブルは、キーボードに合わせてスクロールとサイズ変更を停止します。

presentViewControllerメソッドをどこで呼び出すか(セル内、ヘッダー内、またはツールバー内)は問題ではないようです。

何か案は?

更新1:

UITextFieldのデリゲートはで設定され- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathていますcell.textField.delegate = self

私はオーバーライドするだけviewWillAppear:(BOOL)animatedです:

- (void) viewWillAppear:(BOOL)animated  {
    [super viewWillAppear:animated];
    [[GAI sharedInstance].defaultTracker sendView:@"Some view name"];
}

更新2

手動で呼び出す

[self dismissViewControllerAnimated:YES completion:^{
        [self viewWillAppear:YES];
}];

それを修正しますが、なぜこれが必要なのかについての入力が必要ですか?

4

1 に答える 1

1

ビュー階層のどこかで、への呼び出しを逃していました[super viewWillAppear:]

于 2013-03-28T12:32:26.767 に答える