bawn / Aquaman

A pure-Swift library for nested display of horizontal and vertical scrolling views
https://bawn.github.io/#blog
MIT License
269 stars 42 forks source link

头部高度变化如何更新 #4

Closed LucioLee closed 5 years ago

LucioLee commented 5 years ago

HeaderView的高度会随着操作发送变化,怎么动画顺滑地更新高度?

bawn commented 5 years ago

简单一点在 AquamanPageViewController.swift 中添加一个方法

 public func updateHeaderView() {
        headerViewHeight = headerViewHeightFor(self)
        headerViewConstraint?.constant = headerViewHeight
    }

然后

override func pageController(_ pageController: AquamanPageViewController, mainScrollViewDidScroll scrollView: UIScrollView) {
        print(scrollView.contentOffset)
        headerViewHeight -= scrollView.contentOffset.y
        updateHeaderView()
    }

不过你需要考虑的是 scrollView.contentOffset 同时也在变化

LucioLee commented 5 years ago

多谢!已经解决,只是希望从库的层面提供支持,不想改库 image

LucioLee commented 5 years ago

还有一个问题,menuViewPinHeight这个参数我理解上应该是对menuView吸附效果做一个附加偏移,我看Demo中这个值传了一个导航栏的高度,能不能在库里实现对safeArea的适配?

bawn commented 5 years ago

谢谢你的意见,后续我会考虑优化

bawn commented 4 years ago

@LucioLee

还有一个问题,menuViewPinHeight这个参数我理解上应该是对menuView吸附效果做一个附加偏移,我看Demo中这个值传了一个导航栏的高度,能不能在库里实现对safeArea的适配?

已经实现