iOS UITableView显示下移问题:automaticallyAdjustsScrollViewInsets 属性浅谈

来源:互联网 发布:神雕群芳谱知乐改编 编辑:程序博客网 时间:2024/06/08 07:59

上周处理一个表格时,发现TableView实际显示比设置的位置低了一段高度。查资料发现是iOS7之后,UIViewController增加了一个新属性:automaticallyAdjustsScrollViewInsets;该属性默认值为YES,将其设置为NO,表格显示效果就正常了。

对于automaticallyAdjustsScrollViewInsets属性,苹果官方文档给出的注释:

A Boolean value that indicates whether the view controller should automatically adjust its scroll view insets.

Default value is YES, which allows the view controller to adjust its scroll view insets in response to the screen areas consumed by the status bar, navigation bar, and toolbar or tab bar. Set to NO if you want to manage scroll view inset adjustments yourself, such as when there is more than one scroll view in the view hierarchy.


简而言之就是设置是否让系统自动控制 scroll view 以让其适配屏幕区域中的状态栏、导航栏、tab栏等。

网上很多开发者批评这个属性毫无用处、坑爹,不过我感觉这个属性还是有点用处的,因为让让系统自己适配scroll view 时,可以实现scroll view 滚动时是覆盖全屏的,这样相较于我们自己设置frame时滚动仅在可见范围内,视觉效果感受上会有所提升。

0 0
原创粉丝点击