Ios 启用PopViewController后UINavigationBar下的UITableView

Ios 启用PopViewController后UINavigationBar下的UITableView,ios,uitableview,ios6,uinavigationcontroller,Ios,Uitableview,Ios6,Uinavigationcontroller,在使用UINavigationController下的UITableView导航3个级别后,最终显示一个UIViewController,它调用: [self.navigationController popViewControllerAnimated:YES]; 我看到了这个结果,它是覆盖在UITableView顶部的UINavigationBar 如何修复仅在弹出视图后发生的覆盖? 部署目标6.0 我见过几个听起来类似的问题,但不完全是这种情况,也没有答案 顺便说一句:使用navigat

在使用UINavigationController下的UITableView导航3个级别后,最终显示一个UIViewController,它调用:

[self.navigationController popViewControllerAnimated:YES];
我看到了这个结果,它是覆盖在UITableView顶部的UINavigationBar

如何修复仅在弹出视图后发生的覆盖?

部署目标6.0

我见过几个听起来类似的问题,但不完全是这种情况,也没有答案


顺便说一句:使用navigationbar back按钮不会导致此行为。

您的视图未完全卸载,因此出现此奇怪行为,您是否使用相同的
UITableViewController
进行所有向下钻取。如果是相同的,二级向下钻取是否可以正常工作?

当从UINavigationController弹出多个视图时,我发现视图必须完全加载,否则UI会变得混乱并显示异常。因此,在我的例子中,我添加了一个检查,并在加载后弹出视图

- (void) viewDidAppear:(BOOL)animated {   
    if (self->doPopView) {
        [self.navigationController popViewControllerAnimated:YES];
    } else {
       // ...
    }
}

此方法解决了UINavigationController与UITableView的显示问题。

使用segues和navigationbar后退按钮时,所有ui行为都是稳定和可预测的。只有当I[self.navigationController popViewControllerAnimated:YES];您是否在ViewDidDisplay中设置了UIbarButton通道?没有,我没有对任何ui组件进行任何更改。只需将uitableviewcontroller推送到uinavigationcontroller。