【问题标题】:UITableView under UINavigationBar after popViewControllerAnimated在 popViewControllerAnimated 之后 UINavigationBar 下的 UITableView
【发布时间】:2013-02-19 17:51:33
【问题描述】:

在 UINavigationController 下使用 UITableViews 导航 3 个级别后,最终呈现一个 UIViewController 调用:

[self.navigationController popViewControllerAnimated:YES];

我看到了这个结果,它是覆盖在 UITableView 之上的 UINavigationBar。

如何修复仅在弹出视图后才会出现的叠加层?

部署目标 6.0

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

顺便说一句:使用导航栏后退按钮不会导致此行为。

【问题讨论】:

    标签: ios uitableview ios6 uinavigationcontroller


    【解决方案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。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      相关资源
      最近更新 更多