当 automaticallyAdjustsScrollViewInsets 为 YES 时,也是默认行为,表现就比较正常了,和

edgesForExtendedLayout = UIRectEdgeNone 有啥区别? 不注意可能很难觉察

设计师可能一眼就看穿。。。 automaticallyAdjustsScrollViewInsets 为YES 时,

tableView 上下滑动时,是可以穿过导航栏&状态栏的,在他们下面有淡淡的浅浅红色

UIViewController提供了如下属性来调整视图控制器的外观:

1.edgesForExtendedLayout:这个属性属于UIExtendedEdge类型,它可以单独指定矩形的四条边,也可以单独指定、指定全部、全部不指定。

使用edgesForExtendedLayout指定视图的哪条边需要扩展,不用理会操作栏的透明度。这个属性的默认值是UIRectEdgeAll。

2.extendedLayoutIncludesOpaqueBars:

如果你使用了不透明的操作栏,设置edgesForExtendedLayout的时候也请将 extendedLayoutIncludesOpaqueBars的值设置为No(默认值是YES)。

3.automaticallyAdjustsScrollViewInsets:如果你不想让scroll view的内容自动调整,将这个属性设为NO(默认值YES)。

extendedLayoutIncludesOpaqueBars

首先看下官方解释,默认 NO, 但是Bar 的默认属性是 透明的。。。也就是说只有在不透明下才有用

但是,测试结果很软肋,基本区别不大。。。但是对于解决一些Bug 是还是起作用的SearchBar的跳动问题

通常是这几个方法一起使用 来解决iOS7 导航栏透明的问题

1 self.edgesForExtendedLayout = UIRectEdgeNone;

2 self.extendedLayoutIncludesOpaqueBars = NO;

3 self.modalPresentationCapturesStatusBarAppearance = NO;

SearchBar的跳动问题

问题详情:

首先是TableView 作为 NavigationController 的 RootViewContrller, 然后UISearchBar

     添加到TableView 的 headView 上,同时 UISearchDisplayController 的 contentsController

为tableView, SearchBar 为tableView headview 上的 searhBar,然后点击后 searchBar 会平滑

移动到 NavgationBar 的位置,点击取消或蒙版的,searhBar 会跳动下再回到正确的位置。

解决办法:

在控制器的viewdidload: 中加入

[self setAutomaticallyAdjustsScrollViewInsets:YES];

[self setExtendedLayoutIncludesOpaqueBars:YES];

查找原因过程:

首先是看到 FontAwesome 的搜索没有问题然后就看其实现,没有改变UINavigationBar的默认颜色,

   没有UINavigationItem,然后就将其全部注释,然后问题依然, 再 设置UINavigationBar 的 translucent 属性

为YES,接着打开 UINavigationBar 的背景色,然后问题又出现了,由于背景色要同时设置状态栏的颜色,所以设置代码为

[[UINavigationBar appearance]setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

同时不使用 图片的方式,通过遍历系统子控件设UINavigationBar 的设置背景色同样也会导致跳动,

问题就可能是系统SDK的问题了,猜测而已。。然后就各种关键词搜。。最后。。。

最新文章

  1. hdu4790 Just Random (数学?)
  2. curl详解
  3. 在安装SqlServer2008时,有一项安装程序支持规则,为什么重新启动计算机那一项总是失败
  4. cf 61E. Enemy is weak 树状数组求逆序数(WA) 分类: Brush Mode 2014-10-19 15:16 104人阅读 评论(0) 收藏
  5. linux c 多线程编程
  6. ubuntu中安装samba 分类: linux 学习笔记 ubuntu 2015-07-07 16:14 46人阅读 评论(0) 收藏
  7. jQuery 使用 jQuery UI 部件工厂编写带状态的插件(翻译)
  8. SQL Server SQL高级查询语句小结(转)
  9. 文件搜索神器 Everything
  10. Linux 查看和删除进程
  11. html5小游戏基础知识
  12. 超全面!这可能是最全面的 jQuery 知识总结
  13. Solr中在使用过程中遇到的"与"和"或"的问题
  14. android studio中编译单个文件
  15. 【Python深入】Python中继承object和不继承object的区别
  16. leetcode997
  17. Windows自动联网修复系统损坏文件
  18. JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(下)(各种乱码、验证码、重定向和转发)
  19. Java NIO: Non-blocking Server
  20. C#创建文件夹并设置权限

热门文章

  1. Asp.Net 之 获取GridView行的DataKeys
  2. js数组内置方法
  3. felx第二天 ActionScript 基本语法和关键字
  4. jqgrid 的编辑信息提示
  5. Swift和OC相互调
  6. 在Linux平台上用ASP.NET 5 连接Redis服务器
  7. 【JAVA】浅谈java枚举类
  8. ios开发之UIView的frame、bounds跟center属性的区别(附图)
  9. 如何从零开始实现一个soa远程调用服务基础组件
  10. [leetcode] 406. Queue Reconstruction by Height