【问题标题】:Incorporating navigation bar in UIViewController in Interface Builder在 Interface Builder 的 UIViewController 中合并导航栏
【发布时间】:2012-10-20 00:25:20
【问题描述】:

我使用的是 Xcode 4,但不是 Storyboards

我们在应用委托中实例化了一个导航控制器。

当我们使用 Xibs 创建视图控制器时,xibs 是 iphone 高度的视图(没有导航栏)。将内容放在这个区域是具有欺骗性的,因为实际上只有 44pt 的空间(导航栏的高度)被导航控制器放置在那里。

因此,我们如何在界面生成器中删除导航栏应位于的房间?

我可以单击视图,然后将“顶部栏”更改为“导航栏”,这将起作用,但我无法将栏按钮项添加到此导航栏,这让我认为这不是正确的做法它。

谁能告诉我最好的方法是什么?

非常感谢

【问题讨论】:

  • 应该使用故事板的另一个原因。
  • 当我必须以编程方式填充 UITableView 时,我陷入了情节提要 - 我不确定如何将动态内容链接到新的视图控制器?

标签: xcode interface-builder


【解决方案1】:

当您推送控制器或使用它来初始化导航控制器时,导航控制器应负责在运行时调整大小。您在 IB 中设置顶部栏的区域位于“模拟指标”标题下,旨在让您预览所选界面元素将对可用显示区域产生的影响。 “模拟”部分是您不能将项目放入该栏的原因。

应该在定义导航控制器的任何地方配置真正的导航栏,无论是在代码中还是在 xib 中。

【讨论】:

  • 该死,界面构建器是垃圾——它使 ios 开发成为编程和可视化界面的奇怪组合。那么,如果我想将条形按钮项添加到特定视图控制器的导航栏,我必须以编程方式进行吗?嘘。
  • 导航栏属于导航控制器,而不是每个视图控制器都需要修改。真正的问题是您无法在 IB 中表达条件逻辑。 (例如,不能告诉导航控制器根据堆栈顶部的视图控制器更改按钮。)
  • 是的,我明白了。我认为可能有一种方法可以将 UINavigationController 对象连接到 UIViewController 的 navigationController 属性。但显然不是。我猜是因为 UIViewController 可以是独立的,也可以包含在导航堆栈中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-22
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
相关资源
最近更新 更多