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;同时存在,不论设置的先后顺序如何,都是前者起作用;
   

相关文章:

  • 2022-12-23
  • 2021-11-22
  • 2021-08-21
  • 2022-03-06
  • 2022-12-23
  • 2021-10-02
  • 2022-01-12
  • 2022-12-23
猜你喜欢
  • 2021-10-07
  • 2021-07-07
  • 2021-07-14
  • 2021-11-04
  • 2022-12-23
  • 2021-08-10
  • 2022-01-02
相关资源
相似解决方案