您的位置:首页 > 移动开发 > IOS开发

iOS_25_彩票_控制器的view的适配

2014-08-29 15:06 295 查看
最终效果图:



iOS 7的控制器默认都是全屏的

如图所示:

程序入口是一个导航控制器,

导航控制器的根控制器是一个TabBarController,

因此,状态栏+导航栏会盖住TabBarController控制器的上面64的高度

TabBarController的子控制器是一个TableViewController,


因此,TabBarController的TabBar会盖住TableViewController的下部分49的高度,

因此,TableViewController的数据不能像iOS6那样正常地全部展示





结果就变成了这样:TabViewController上下被遮挡



为了能像iOS6那样,使控制器的view展示完全,需要作如下处理:



TabBarController和它的所有子控制 都不要自动展开占据整个屏幕



@implementation BeyondTabBarController
- (void)viewDidLoad
{
[super viewDidLoad];
// 重要~~~iOS7的控制器的view的适配
if (iOS7) {
// 目的,让TabBar控制器 不要展开为全屏的
// 1.UIRectEdgeNone不要往四周边缘展开(按照非iOS7的传统来展示)
self.edgesForExtendedLayout = UIRectEdgeNone;

// 2.同时,也让TabBar控制器 所有的子控制器都不能展开
for (UIViewController *vc in self.childViewControllers) {
vc.edgesForExtendedLayout = UIRectEdgeNone;

}

// NO代表展开的时候不要包含那个条
//        self.extendedLayoutIncludesOpaqueBars = NO;
}

// 自动会调用scrollView的contentInsets(比如group样式的tableView的insets.top=64)
//    self.automaticallyAdjustsScrollViewInsets = YES;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS view的适配