首页 > 代码库 > iOS_26_彩票_控制器的view的适配

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

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_26_彩票_控制器的view的适配