Ios 启用PopViewController后UINavigationBar下的UITableView
在使用UINavigationController下的UITableView导航3个级别后,最终显示一个UIViewController,它调用: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
[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。