iOS 7对布局和自定义UI外观的方式进行了一些更改。视图控制器布局,色调颜色和字体的更改会影响应用程序中的所有UIKit对象。此外,手势识别器API的增强功能使您可以更精细地控制手势交互。
使用视图控制器
在iOS 7中,视图控制器使用全屏布局。同时,iOS 7使您可以更精细地控制视图控制器对视图进行布局的方式。特别是,全屏布局的概念已得到改进,以使视图控制器可以指定其视图的每个边缘的布局。
该wantsFullScreenLayout
视图控制器属性在iOS的7弃用如果您目前指定wantsFullScreenLayout = NO
,当它在iOS的7运行视图控制器可显示其在一个意想不到的画面位置的内容。
要调整视图控制器对视图的布局方式,请UIViewController
提供以下属性:
该edgesForExtendedLayout
属性使用UIRectEdge
类型,该类型除了指定无和全部外,还指定矩形的四个边缘中的每一个。使用edgesForExtendedLayout
来指定一个视图的边缘应该扩展,而不管杆半透明的。默认情况下,此属性的值为UIRectEdgeAll
。
- extendedLayoutIncludesOpaqueBars
如果您的设计使用不透明的条,edgesForExtendedLayout
请将extendedLayoutIncludesOpaqueBars
属性也设置为
NO进行优化。(的默认值extendedLayoutIncludesOpaqueBars
是NO。)
如果您不想自动调整滚动视图的内容插图,请设置automaticallyAdjustsScrollViewInsets
为NO。(的默认值automaticallyAdjustsScrollViewInsets
是YES)。
- topLayoutGuide,bottomLayoutGuide
的topLayoutGuide
和bottomLayoutGuide
特性指示的顶部或底部边缘条的视图中的控制器的视图中的位置。如果条形图应与视图的顶部或底部重叠,则可以使用Interface Builder通过topLayoutGuide
在bottomLayoutGuide 的底部或顶部创建约束来相对于条形图放置视图。(如果没有条形图应与视图重叠,则的底部
topLayoutGuide
与视图的顶部bottomLayoutGuide
相同,并且的顶部
与视图的底部相同。)当请求时,这两个属性都是延迟创建的。