UITableViewController和UITextFields的奇怪行为

时间:2013-01-16 11:57:59

标签: objective-c ios6 uitextfield uitableview

在单元格中使用UITableViewControllerUITextFields时,我观察到一些奇怪的行为。

UITextFields委托设置为UITableViewController,当进入编辑模式时,tableview会滚动到相关的单元格,并且不会使用键盘模糊输入。

但是,当我使用

呈现另一个视图控制器时
[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];
}];

修复它,但我仍然想要为什么这是必要的一些输入?

1 个答案:

答案 0 :(得分:1)

在视图层次结构的某个地方,我错过了对[super viewWillAppear:]的调用。