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 关注
- 685 浏览
添加回答
举报