zoukankan      html  css  js  c++  java
  • iOS 7 修改默认布局从status bar 底部开始

     

    最近在对公司的一个老项目进行版本升级,添加了导航栏和tabBar,并且在个人中心界面隐藏navigationBar,于是在控制器里添加了如下对象方法:
    - (void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
    
        // 隐藏导航栏
        [self.navigationController setNavigationBarHidden:YES animated:YES];
    }

    但是,随之出现的问题是,self.view的顶部被置于statusBar的下部,这特么的就有点尴尬了,效果图如下:

    出现这个问题的原因是:

    在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。

    修复这个问题的快速方法就是在方法:- (void)viewDidLoad中添加如下一行代码:

        self.edgesForExtendedLayout = UIRectEdgeNone;

    common + R 运行后问题得到解决。

    学习:http://www.jianshu.com/p/400bf26f168a

  • 相关阅读:
    Restful API
    Vue之指令
    Scrapy框架
    爬虫提高性能:串行、线程进程、异步非阻塞
    MongoDB
    Beautifulsoup模块
    请求库之selenium
    php 正则匹配中文
    Javascript的"预编译"思考
    PHP程序员面试技巧之口试题分享
  • 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/5514099.html
Copyright © 2011-2022 走看看