我正在使用UITableView来展示各种视图控制器。根据单击的索引,它将呈现不同的视图控制器,然后可以关闭。但是,由于某种原因,我的某个视图控制器需要点击两次才能显示。因此,似乎每隔一次点击才有效。其他视图显示正常,所以表格可能没问题。
在即将显示的ViewController中,我看到的是,第一次单击时,它经过了didSelectRowAtIndexPath,然后在目标视图中触发:ViewWillLoad、ViewLoaded、ViewWillAppear......但不包括ViewDidAppear。第二次单击时,只有ViewDidAppear会触发并显示。第二次单击时,它甚至不会经过didSelectRowAtIndexPath。此外,我可以在屏幕上任何位置单击第二次,它都会显示。
它将继续这样来回往复,似乎只有每隔一次点击才会显示目标视图。你有什么想法为什么会发生这种情况吗?
/* RightPanelViewController */
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
switch(indexPath.row){
case 0:
// this view takes two clicks to display
[self presentViewController:self.delegateRef.savedRidesViewController animated:YES completion:nil];
break;
case 1:
// this works fine, as do others
[self presentViewController:self.delegateRef.sensorsViewController animated:YES completion:nil];
break;
case 2:
...
}
/* savedRidesViewController */
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
}