美文网首页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