zoukankan      html  css  js  c++  java
  • EdgesForExtendedLayout

    在IOS7 之后viewController有一个新的属性叫做edgesForExtendedLayout,这个属性指定viewController的view边缘延伸的方向,默认情况下是UIRectEdgeAll,所以view是向四周延伸的。这是属性是针对于viewController上的self.view的。

    (1)先试试看默认情况下是什么样子

    view是向四周延伸的,所以view的上部分会被Navigationbar遮住。

    现在将 self.edgesForExtendedLayout = UIRectEdgeNone;(具体设置那个方向,还要看每个不同的需要,我这边直接设置成None)
    现在的结果是这样的

    可以看出self.view的frame发生了变化。

    一开始self.view的Y轴=0,高度为568(这边以iphone5的屏幕),现在的self.view的Y轴=64,高度也变成了504,相当于self.view往里面缩了64

    此时布局的时候则需要从Y=0开始布局。包括Scrollview或者他的子类,如果此时设置automaticallyAdjustsScrollViewInsets测试下来发现已经不起作用了。

    edgesForExtendedLayout 同样也适用于tabBar、statusBar的情况下,下面是Navigation和tabBar一起使用的情况

    1.edgesForExtendedLayout = UIRectEdgeAll

    2.edgesForExtendedLayout = UIRectEdgeNone

                

    上面的情况是viewcontroller先压入Navigation,在压入tarBar。

    但是如果先压入tabBar再压入Navigation的时候情况是不一样的

    此时在设置edgesForExtendedLayout = UIRectEdgeNone

    self.view上部分还是延伸了。

  • 相关阅读:
    awk 使用shell 变量
    设计模式之 外观(门面)模式 Facade
    设计模式之 抽象工厂模式
    python 第一课
    Visual Basic 图片连接地址添加
    smarty 不同模板 缓存时间
    PHP 传参过滤
    Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建支持高并发量的Web服务器
    linux vi 编辑命令
    PHP 命令模式 执行文件 并传递参数
  • 原文地址:https://www.cnblogs.com/small-octopus/p/4752171.html
Copyright © 2011-2022 走看看