【问题标题】:iOS: Confusion over Interface BuilderiOS:对 Interface Builder 的困惑
【发布时间】:2011-07-03 13:20:06
【问题描述】:

有时我在 Interface builder 中设置了一些东西,它们会按照我的预期显示在我的应用程序中。其他时候,它们会以不同的方式出现或根本不出现。而且我似乎无法很好地理解为什么会这样。

例如,我在模态视图中展示了一个导航控制器。但是在 Interface Builder 中,当我尝试设置导航栏的标题时,它会被忽略。我知道导航栏标题的名称取自其显示的视图的标题,因此您实际上需要在该子视图上而不是在导航栏上设置标题。仅考虑代码时这很有意义,但是 IB 允许您看似设置标题这一事实非常令人困惑。为什么它让你?只是为了让它在 IB 中看起来“正确”,即使这不能反映应用程序的真实状态?

一个类似的例子是向导航栏添加一个 UIBarButtonItem。同样,在 IB 中我可以添加它,设置它的标题、样式等。但它没有显示出来。我必须在初始化导航控制器的根视图控制器上设置 .navigationItem.leftBarButtonItem 属性。

据我所知,上述两件事(标题和按钮)都不能通过 IB 实现,但 IB 确实让它看起来像。最后,这使得导航控制器的 XIB 文件变得毫无意义。

我错过了什么吗?

【问题讨论】:

  • FWIW,此时我不再使用 IB。太多的怪癖和太多乏味的鼠标使用。

标签: iphone ios interface-builder


【解决方案1】:

当一个xib在“Simulated Metrics”下将“Navigation Bar”设置为“Top Bar”时,不能设置标题,也不能添加按钮。您是否手动将导航栏添加到 xib?如果你这样做了,这就是为什么 IB 允许你设置标题并添加条形按钮项。您不应该仅仅因为您希望导航控制器在某个时候添加导航栏而手动添加导航栏。您应该使用模拟指标。

【讨论】:

  • 当我不使用导航控制器并且需要导航栏时。这方面的一个示例是使用 presentModalViewController 呈现的视图控制器,您可能希望在顶部有一个导航栏,并带有“取消”和“保存”按钮。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-27
  • 1970-01-01
  • 2014-05-05
  • 2012-07-12
  • 1970-01-01
相关资源
最近更新 更多