代码之家  ›  专栏  ›  技术社区  ›  Nate

具有捕捉和缩放功能的滚动视图

  •  0
  • Nate  · 技术社区  · 6 年前

    我一直想做一个快速的iOS应用的滚动快照缩放用户界面现在有一点,但从来不知道该搜索什么。昨晚我在苹果新闻应用程序里看到了这个,这正是我想做的。关于从哪里开始有什么建议吗?

    我以前做过一个带有分页的滚动视图,但是这需要每个“页面”都有相同的大小,而且我只看到当前页面。我喜欢你在当前页面上看到10%左右的页面。另外,我希望居中的“页面”比外部页面大。

    这种滚动动画有名字吗?不知道它叫什么,使得搜索变得困难。

    谢谢!

    slider

    1 回复  |  直到 6 年前
        1
  •  1
  •   matt    6 年前

    这是一个UICollectionView,实现了众所周知的“Carousel”。

    实际上 非常 很容易实现为一个UICollectionViewFlowLayout子类,只需一些简单的调整。您只需重写三种方法:

    • shouldInvalidateLayout(forBoundsChange:) true

    • layoutAttributesForElements(in:) 修改 transform3D 屏幕单元格的UICollectionViewLayoutAttributes属性

    • targetContentOffset(forProposedContentOffset:withScrollingVelocity:)

    苹果在WWDC 2012视频中向你解释了这一切。IIRC他们称之为“覆盖流”,因为它是在Mac Finder中模仿覆盖流的。