美文网首页Swift&Objective-CiOS Developer
iOS 11 tableHeaderView 从navigaqt

iOS 11 tableHeaderView 从navigaqt

作者: fd5657ed541e | 来源:发表于2017-06-25 22:59 被阅读214次

新建一个Proj, 将tableViewController的autoAjustScrollViewInset设置为false, 运行


image.png

表现


2017-06-25 14_55_04.gif
tableHeaderView是从NavigationBar的底部开始算起的.
Reveal 里面 TableView.frame.origin = .zero

tableHeaderView.frame.origin = .zero

image.png

图1: tableHeaderView

image.png

图2: tableView

image.png

图3: tableView

我们看到前面已经设置了"自动调整scrollViewInset"属性为false, tableView的inset确实是 .zero(图3), 变得是tableView的offset, 而offset的改变就是因为bounds.
图2中看到tableView.bounds.y = -64 ,这相当于在tableView的坐标系中左上角(原点)对于tableView的subviews来讲坐标是{0, -64}, 而tableHeaderView.origon是{0, 0}, 所以向下偏移了64.
至于offset, 这个属性的本质其实是就是更直观的描述bounds的属性, 有兴趣的同学可以去看看ScrollView的实现: https://objccn.io/issue-3-2/

最后用代码实现得时候才发现原来 iOS11 改用这个方法了 泪奔, autoAdjustScrollVeiwInset 已经失效


image.png

相关文章

网友评论

本文标题:iOS 11 tableHeaderView 从navigaqt

本文链接:https://www.haomeiwen.com/subject/bdqrcxtx.html