zoukankan      html  css  js  c++  java
  • iOS 全屏布局

    edgesForExtendedLayout属性用于替代wantsFullScreenLayout,控制页面显示的范围,默认值是UIRectEdgeAll

    automaticallyAdjustsScrollViewInsets:通常我们希望ScrollView或者UITableView内容显示是在UINavigation Bar下面。iOS7以后,默认值是Yes,所以是全屏显示,但是要注意一点,ScrollView要作为控制器的根视图(PS:使用xib布局时似乎不是根视图也可以),automaticallyAdjustsScrollViewInsets = Yes 与 edgesForExtendedLayout = UIRectEdgeNone的区别是前者的UINavigation Bar是透明显示的,后者不透明;所以在使用UISearchDisplayController时,将tableView设置为root view就不会有动画问题;

    extendedLayoutIncludesOpaqueBars:他是跟属性navigationbar的translucent属性一起使用的,控制根视图布局的范围是从navigationbar下面布局的还是全屏布局的(PS:extendedLayoutIncludesOpaqueBars和edgesForExtendedLayout属性是不能联合产生效果,虽然edgesForExtendedLayout也能使navigationbar不透明); 如果想在navigation bar不透明的情况下,实现UISearchDisplayController的搜索框动画,要可以这样设置

        self.navigationController.navigationBar.translucent = NO;
        [self setExtendedLayoutIncludesOpaqueBars:YES];            // 扩展到不透明的bar下面

    self.navigationController.navigationBar.translucent = NO;   self.extendedLayoutIncludesOpaqueBars = NO;  这样设置的视觉效果同edgesForExtendedLayout = UIRectEdgeNone是一样的,根视图的布局也是一致的;如果它和self.edgesForExtendedLayout = UIRectEdgeAll;同时存在,不论设置的先后顺序如何,都是前者起作用;
       

  • 相关阅读:
    python3获取文件夹大小
    git master分支被污染,dev是最新稳定的
    优化经验杂记
    kong
    prometheus
    C# 线程执行带参方法的几种写法(ThreadStart,delegate (),()=>)
    MySql字符集utf8mb4和utf8区别
    程序员必备的一些数学基础知识
    hbase统计表的行数的三种方法
    Flink实时计算pv、uv的几种方法
  • 原文地址:https://www.cnblogs.com/wfwenchao/p/5036808.html
Copyright © 2011-2022 走看看