3 回答
TA贡献1825条经验 获得超6个赞
edgesForExtendedLayout
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone;
-(void)viewDidLoad
IOS 7会给布局和自定义您的外观带来一些更改。 UI..视图控制器布局、色调颜色和字体的更改将影响所有 乌伊基特对象在您的应用程序中。此外,对手势识别器API的增强为您提供了对手势交互的更细粒度的控制。 使用视图控制器
在IOS 7中,视图控制器使用全屏布局.同时,IOS 7对视图控制器的视图布局方式提供了更细粒度的控制。特别是,全屏布局的概念已经被细化,让视图控制器指定其视图的每个边缘的布局。
这个 wantsFullScreenLayout视图控制器属性在IOS 7中不建议使用。 wantsFullScreenLayout = NO在iOS 7中运行时,视图控制器可能会在意外的屏幕位置显示其内容。
若要调整视图控制器的视图布局方式, UIViewController提供下列属性:
EDgesfortendedLayout
这个 edgesForExtendedLayout属性使用 UIRectEdge类型,它除了指定“无”和“全部”之外,还指定矩形的四个边中的每一个。使用 edgesForExtendedLayout指定应扩展视图的哪些边缘,而不管条形半透明。默认情况下,此属性的值为 UIRectEdgeAll.
扩展LayoutIncludeesOpaqueBars
如果您的设计使用不透明的条,请改进。 edgesForExtendedLayout还可以通过设置 extendedLayoutIncludesOpaqueBars财产 不..(默认值为 extendedLayoutIncludesOpaqueBars是 不.)
自动调整ScrollViewInset
如果不希望自动调整滚动视图的内容嵌入,请设置 automaticallyAdjustsScrollViewInsets到 不..(默认值为 automaticallyAdjustsScrollViewInsets是 是.)
TopLayoutGuide,底部LayoutGuide
这个 topLayoutGuide和 bottomLayoutGuide属性指示视图控制器视图中顶部或底部条边的位置。如果条形图应与视图的顶部或底部重叠,则可以使用InterfaceBuilder将视图相对于该条定位,方法是在 topLayoutGuide或者到底层指南的顶端。(如果没有条形图应重叠视图,则 topLayoutGuide与视图的顶部和 bottomLayoutGuide与视图底部相同。)这两个属性都是在请求时延迟创建的。
TA贡献1831条经验 获得超9个赞
-[UIViewController edgesForExtendedLayout]
[self setEdgesForExtendedLayout:UIRectEdgeNone];
TA贡献1757条经验 获得超7个赞
- (void) viewDidLayoutSubviews {
// only works for iOS 7+
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
CGRect viewBounds = self.view.bounds;
CGFloat topBarOffset = self.topLayoutGuide.length;
// snaps the view under the status bar (iOS 6 style)
viewBounds.origin.y = topBarOffset * -1;
// shrink the bounds of your view to compensate for the offset
viewBounds.size.height = viewBounds.size.height + (topBarOffset * -1);
self.view.bounds = viewBounds;
}}- 3 回答
- 0 关注
- 804 浏览
添加回答
举报
