bawn / Aquaman

A pure-Swift library for nested display of horizontal and vertical scrolling views

Home Page:https://bawn.github.io/#blog

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

在真机11,系统14.5的真机上,在有无导航栏的情况下,contentScrollView滑动的时候,直接整个界面滑到顶部了,记录不了每个childScrollView滑动的高度

Ryan1219 opened this issue · comments

//MARK: ----AquamanPageViewControllerDelegate----
override func headerViewFor(_ pageController: AquamanPageViewController) -> UIView {
return headerView
}

override func headerViewHeightFor(_ pageController: AquamanPageViewController) -> CGFloat {
    return headerHeight
}

override func menuViewFor(_ pageController: AquamanPageViewController) -> UIView {
    return sectionView
}

override func menuViewHeightFor(_ pageController: AquamanPageViewController) -> CGFloat {
    return sectionHeight
}

override func originIndexFor(_ pageController: AquamanPageViewController) -> Int {
    return currentSelectIndex
}

override func numberOfViewControllers(in pageController: AquamanPageViewController) -> Int {
    return viewControllers.count
}

override func pageController(_ pageController: AquamanPageViewController, didDisplay viewController: (UIViewController & AquamanChildViewController), forItemAt index: Int) {

}

override func pageController(_ pageController: AquamanPageViewController, viewControllerAt index: Int) -> (UIViewController & AquamanChildViewController) {
return viewControllers[index]
}

// override func contentInsetFor(_ pageController: AquamanPageViewController) -> UIEdgeInsets {
// return UIEdgeInsets.init(top: 40.0, left: 0, bottom: 0, right: 0)
// }

override func menuViewPinHeightFor(_ pageController: AquamanPageViewController) -> CGFloat {
    let topH: CGFloat = Device_hasTopNotic ? 88 : 64
    return topH
}

我找到原因了,是因为代码执行了这里造成的
if mainScrollView.contentOffset.y < sillValue {
scrollView.contentOffset = scrollView.am_originOffset ?? .zero
scrollView.am_isCanScroll = false
mainScrollView.am_isCanScroll = true
}

    在真机11的时候 mainScrollView.contentOffset.y < sillValue 这个条件成立
    不知道为什么??

真机11,系统14.5,不管有没有导航栏,来回滑动都会滚动到第一条数据的地方
就是会执行这个归零代码
if mainScrollView.contentOffset.y < sillValue {
scrollView.contentOffset = scrollView.am_originOffset ?? .zero
scrollView.am_isCanScroll = false
mainScrollView.am_isCanScroll = true
}

commented

能麻烦录个视频吗,就是bug的现象