• 神奇的navigationBar.translucent


    初步实践所得:
    当translucent属性为YES的时候,vc的view的坐标从导航栏的左上角开始;
    当translucent属性为NO的时候,vc的view的坐标从导航栏的左下角开始;
     
    深入探究:
     
    内容简要摘要:
    (一)非滚动实图
    从iOS7以后,默认为YES。
    为YES时,view从(0,0)点开始;
    为NO时,view从(0,64)点开始。
     
    (二)滚动视图
    tableview加在view上面,坐标为(0,0,屏宽,屏高)。
     
    当为YES时,view的起点从(0,0)开始,tableview的起点从view的(0,0)点开始,但是tableview的内容向下偏移了64,这就是特性。
    当然,也可以让这种特性消失,tableview有一个特有的属性,automaticallyAdjustsScrollViewInsets,默认为YES,滚动试图会默认进行调整,如果设置为NO,则不进行自动调整。
     
    当为NO时,view的起点从(0,64)开始,tableview的起点从view的(0,0)点开始,nav的透明效果没有了,变为纯白色。这样如果增加侧滑手势的话,就会导致上面的navigationBar消失,显示后面的黑色背景,这显然不是我们想要的。
     
    【总结】当我们使用滚动视图的时候,建议不要修改translucent属性,就是系统默认的YES。
     
    【类似属性】
    设置self.edgesForExtendedLayout = UIRectEdgeNone;控制器的view也会变成从(0,64)开始。这样做nav会变得略黑色,目测是背面window的颜色。 
  • 相关阅读:
    一句话解释数字签名。一句话解释数字证书
    KVC、KVO实现过程
    SSH基本概念和用途
    UICollectionView左对齐流水布局、右对齐流水布局
    Git命令学习笔记
    Xcode8插件安装
    Xcode日常使用
    dispatch_group_t 日常使用注意事项
    二分查找变种
    maven插件调试方法
  • 原文地址:https://www.cnblogs.com/cchHers/p/8712082.html
Copyright © 2020-2023  润新知