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相同,并且的顶部
与视图的底部相同。)当请求时,这两个属性都是延迟创建的。