Interface Builder布局UIViewController xib,用于在顶部条形高度中更改方向

时间:2015-01-01 23:02:17

标签: ios interface-builder

我为UIViewController子类创建了一个新的.xib文件,将所有内容保留为默认值,并在视图顶部附近添加了几个按钮,但允许状态栏+导航栏的高度。当我从肖像模式的UITableViewController rootController中推送它时,一切都很好。但是,当我将iPhone旋转到横向时,视图布局不会针对横向模式中较短的顶栏进行调整,因此按钮和导航栏之间会有额外的空间。我知道我可以通过编程方式修复此问题,但必须有一种简单的方法来自动执行此操作,这与我设置xib的方式有关。是否有办法独立于顶杆高度布置视图?

2 个答案:

答案 0 :(得分:0)

您可以使用自动布局来解决此问题。

  1. 选择视图上的按钮
  2. 找到屏幕底部的图钉图标(右下角,四个图标中的第二个图标)。点击它。
  3. 单击向上指向的褪色红线,然后点击添加1约束。
  4. 转到图钉图标左侧的下一个图标(称为对齐)。
  5. 选择水平居中的选项,然后点击添加1约束。
  6. 这将创建一个水平居中的按钮,无论设备的方向如何,都会与顶部保持相同的距离。

答案 1 :(得分:0)

无法弄清楚Interface Builder,但只能通过编程方式创建UIViewController并设置self.edgesForExtendedLayout = UIRectEdgeNone来解决问题。这告诉视图控制器不要在navBar下扩展视图。可能这也适用于IB,但IB似乎只是头疼。关于代码的好处是你可以google,复制,粘贴和重用它。并且有一些系统的过时和升级程序,不像GUI那样功能随意出现。