我一直想为Swift iOS应用创建滚动捕捉缩放UI,但是却不知道要搜索什么。然后昨晚我在Apple News应用程序中看到了这个,这正是我想要做的。关于从哪里开始的任何指针?
我之前使用分页进行了滚动视图,但这要求每个“页面”都具有相同的大小,而且我只会看到当前页面。我喜欢您在当前页面上看到的左右页面的10%。另外,我希望居中的“页面”大于外部页面。
这种滚动动画是否有名称?不知道它叫什么,使搜索变得困难。
谢谢!
GIF:
答案 0 :(得分:1)
这是一个UICollectionView,它实现了众所周知的“轮播”。
实际上,非常易于实现,只需做一些简单的调整即可作为UICollectionViewFlowLayout子类。您只需要重写三个方法:
shouldInvalidateLayout(forBoundsChange:)
至true
,以在滚动过程中获得布局
layoutAttributesForElements(in:)
修改屏幕上单元格的UICollectionViewLayoutAttributes的transform3D
属性
targetContentOffset(forProposedContentOffset:withScrollingVelocity:)
获得分页效果
Apple在WWDC 2012视频中向您解释了所有这一切。 IIRC之所以将其称为“封面流”,是因为它是根据Mac Finder中的封面流建模而成的。