在 popViewControllerAnimated 之后 UINavigationBar 下的 UITableView
Posted
技术标签:
【中文标题】在 popViewControllerAnimated 之后 UINavigationBar 下的 UITableView【英文标题】:UITableView under UINavigationBar after popViewControllerAnimated 【发布时间】:2013-02-19 17:51:33 【问题描述】:在 UINavigationController 下使用 UITableViews 导航 3 个级别后,最终呈现一个 UIViewController 调用:
[self.navigationController popViewControllerAnimated:YES];
我看到了这个结果,它是覆盖在 UITableView 之上的 UINavigationBar。
如何修复仅在弹出视图后才会出现的叠加层?
部署目标 6.0
我见过几个听起来很相似的问题,但不完全是这种情况,也没有答案。
顺便说一句:使用导航栏后退按钮不会导致此行为。
【问题讨论】:
【参考方案1】:当从 UINavigationController 弹出多个视图时,我发现该视图必须完全加载,否则 UI 会混淆并显示奇怪。所以在我的例子中,我添加了一个检查并在加载后弹出视图。
- (void) viewDidAppear:(BOOL)animated
if (self->doPopView)
[self.navigationController popViewControllerAnimated:YES];
else
// ...
这种方法解决了 UINavigationController 与 UITableView 的显示问题。
【讨论】:
【参考方案2】:您的视图未完全卸载,因此出现了这种奇怪的行为,您是否使用相同的UITableViewController
进行所有钻取。如果相同,那么在二级钻取下是否可以正常工作?
【讨论】:
使用 segues 和导航栏后退按钮时,所有 ui 行为都是稳定且可预测的。只有当我 [self.navigationController popViewControllerAnimated:YES]; 你是否在 viewDidAppear 中制作了 UIbarButton 通道?? 不,我没有对任何 ui 组件进行任何更改。只需将 uitableviewcontroller 推送到 uinavigationcontroller。以上是关于在 popViewControllerAnimated 之后 UINavigationBar 下的 UITableView的主要内容,如果未能解决你的问题,请参考以下文章
在 React 应用程序中在哪里转换数据 - 在 Express 中还是在前端使用 React?