Swift:垂直滚动内的垂直滚动

问题描述 投票:0回答:2

我正在尝试创建类似于Instagram个人资料页面的滚动行为,即顶部(例如,名称,头像等)的垂直滚动视图,以及下方的垂直滚动视图,可以左右左右移动以显示更多图像集,同时还可以垂直滚动。

为了记录,我已经阅读了很多与此类似的帖子,但是我没有找到任何解决下面提到的滚动问题的方法。

enter image description here

这是我到目前为止的设置:

enter image description here

注意:绿色滚动视图的宽度和高度等于红色滚动视图的宽度和高度。

此设置可以帮助我解决大部分问题,但是如果向上滑动并放开红色滚动视图,则不会触发绿色滚动视图滚动。相反,一旦绿色滚动视图占据了整个屏幕,就无法返回红色滚动视图,因为它也未触发。

我通过启用/禁用绿色滚动视图取得了一些成功,当红色滚动视图滚动超过标题的高度时,却显得很简陋。

  func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {

     let translation = scrollView.panGestureRecognizer.translation(in: scrollView.superview)
     var isScrollingDown = translation.y > 0
     let offset = scrollView.contentOffset.y

     if isScrollingDown, offset <= scrollHeight { //scrollHeight is equal to the height of the header cell
         greenScrollView.isScrollEnabled = false
     }
     else if !isScrollingDown, offset >= scrollHeight {
         greenScrollView.isScrollEnabled = true
     }
 }

这个解决方案是朝着正确的方向发展,还是有一种更好的方法来实现我所缺少的目标?

ios swift uitableview uicollectionview instagram
2个回答

0
投票
https://github.com/YoomamaFTW/infinite-view-controllers

[基本上,对于将来的用户,主要要点是使用看起来像PageController的UIScrollBar。每个“页面”只是一个视图控制器,您可以在增加内容大小的宽度时将其添加到UIScrollBar中。

我已经实现了一些功能(例如显示两个图像和添加的gif中的一行的集合视图),但是由于我没有时间将其同时添加到我的图像中,因此这些功能将在星期六添加应用和仓库。

© www.soinside.com 2019 - 2024. All rights reserved.