【问题标题】:UIViewController from XIB not resizing to UINavigationBar来自 XIB 的 UIViewController 未调整为 UINavigationBar
【发布时间】:2016-06-16 09:20:12
【问题描述】:

我在单独的 xib 中创建了 MyViewController 并将其推送到导航堆栈。它已正确加载并调整大小,但隐藏在显示的导航栏下方(隐藏绿色按钮): 在 xib 中,我已将顶栏的所有选项设置为推断:

我该如何解决?当然我可以在xib中手动添加间距,但这不是正确的方法。

编辑: 在 xib 的属性中,我没有在 Top Bar 勾选下看到扩展,因为在 xib 中我创建了 UIView,文件所有者设置为 MyViewController。

【问题讨论】:

  • 在 xib 设置中,在 Attribute Inspector -> 取消勾选 Under top bar 和 Under bottom bar 复选框
  • 我的 xib 中没有这个选项。将进行编辑。

标签: ios iphone uinavigationbar


【解决方案1】:

是因为半透明。你应该这样做。

self.navigationController?.navigationBar.isTranslucent = false

你会看到它有效。当导航栏不透明时,xib 无法定位到导航栏后面来显示它有什么。

【讨论】:

  • 无论如何,答案都很好,如果你用一两句话解释为什么会这样总是好的。
【解决方案2】:

我已经在viewDidLoad 中以编程方式更改edgesForExtendedLayout 属性:

self.edgesForExtendedLayout = UIRectEdgeRight | UIRectEdgeLeft | UIRectEdgeBottom;

在问题的帮助下: How to set UIViewController "extend edges" properties

【讨论】:

    【解决方案3】:

    在 xib 中选择您的视图并转到属性检查器

    并选择顶部栏,如屏幕截图所示,然后相应地设计您的屏幕。它让您了解导航栏将占用多少空间。

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-24
      • 1970-01-01
      相关资源
      最近更新 更多