从UIScrollView到内部UITableView保持动量

问题描述 投票:1回答:1

我正在寻求实现与iOS Twitter个人资料页面非常相似的功能,如此处所示:

Twitter iOS Profile Page(来源:twimg.com

根据我所看到的,它们在顶部有一个UIView,并且一个UIScrollView覆盖了整个视图,并在UIScrollView中包含了UITableView。

这是有关复制它的教程,可以在这里看到:http://www.thinkandbuild.it/implementing-the-twitter-ios-app-ui/

我遇到的问题是如何保持UIScrollView与UITableView上滚动的动力。使用Twitter个人资料页面,您可以滚动一次平滑滑动,它将向上移动UIScrollView(显示UITableView更多),并且仍然存在的任何“动量”将开始滚动UITableView。

我认为这必须在scrollViewDidScroll中完成,并检查到达UIScrollView底部后是否剩余了任何偏移量。

func scrollViewDidScroll(scrollView: UIScrollView) {
    if scrollView == self.myScrollView {
        var maxOffset = 25.0
        let offset = scrollView.contentOffset.y
        self.myScrollView.frame = CGRectMake(0, -min(offset, maxOffset), view.frame.width, view.frame.height)
        if offset - maxOffset > 0 {
            self.myTableView.setContentOffset(CGPointMake(0,offset-maxOffset), animated:true)
        }
  }

这种作品,尽管它当然不是很平滑,而且看起来好像并没有保持动力。

ios uitableview twitter uiscrollview
1个回答
0
投票

我不认为twitter的个人资料使用两个滚动视图。它使用一个表格视图,并通过scrollIndicatorOffsets属性动态调整滚动指示器。如果仔细观察滚动指示器,您会发现它在向上滚动时有点发抖,这与这种方法是一致的。]

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