使用autolayout旋转时UIToolbar不会调整大小,UIBarButtonItems放错位置

时间:2014-02-19 17:47:18

标签: objective-c rotation height autolayout uitoolbar

这是我第一次认真使用自动布局,所以我确定我错过了一些明显的东西。

我在UINavigationController中嵌入了一个非常简单的视图。有三个子视图:UIWebView,UIToolbar(又包含三个UIBarButtons)和UIActivityIndi​​catorView。它基本上只是一个基本的浏览器视图。

除了工具栏之外,我设法让所有内容都显示为旋转:如果视图首先以垂直方向加载,则前景将不会将工具栏从44点调整为32点。最初,在我擦除所有内容之前,它确实调整了工具栏的大小,但是内置的UIBarButtonItems显得更低并且被切断,好像工具栏仍然是44点高,但是从屏幕上推出了16个点。 如果视图首先以horizo​​nttaly方式加载,则条形高32点,但内置的UIBarButtonItems仍然如此,旋转到垂直将使其保持在32点。

example http://i61.tinypic.com/w0j9g9.png

老实说,我不知道如何按预期工作(即旋转时正确调整大小,按钮显示正确!),所以如果有人能指出我正确的方向 - 双关语意图 - 我会真的很感激。

活动指示符位于框架的中间,具有以下约束:

  • 将中心X与Superview对齐
  • 将中心Y与Superview对齐

网页视图设置为使用视图顶部(包括导航栏)直到工具栏顶部的所有可用空间,并具有以下限制:

  • Superview的顶级空间
  • 工具栏的底部空间
  • 将跟踪对齐到工具栏
  • 工具栏的底部空间(它实际上已列出两次)
  • 将前导对齐工具栏

工具栏很乱。它有:

  • Superview的底部空间
  • 将中心X与Superview对齐
  • Web视图的顶级空间
  • 将跟踪对齐到Web视图
  • Web视图的顶级空间(列出两次)
  • 领导超级视野的空间
  • 与Google视图对齐
  • 底部空间到底部布局指南

问题在于,通过不添加任何约束,Web视图比它应该大得多,并且工具栏甚至没有显示。 我主要使用'pin'popover中的水平和垂直红色条(类似于弹簧和strouts)设置这些约束以进行自动布局,但我开始认为这不是最合适的方法。

请注意,我并没有尝试在工具栏中使用autolayout ,我读到它不起作用,我只是使用内置按钮加上几个标记的按钮(那些'箭头'实际上是unicode字符,我可能会在某些时候将它们改为更漂亮的图像。)

提前谢谢你。 : - )

0 个答案:

没有答案