ios - 如何为滚动到中心的 collectionView 单元格制作分页动画?

标签 ios swift

我正在使用 swift 3 编写一个具有 UIViewController 的应用程序,如下图所示。它在顶部包含一个水平滚动的collectionView(蓝色 block ),它的功能是在不同的标签之间切换(first, prev, current, next, last...etc, total amount标签不固定)。我需要实现的是,在滚动(或平移) Collection View 时,'NEXT''PREV' 应该移动(并自动锚定)到中心类似于分页动画的速度。我怎么能做到这一点?目前,我使用 scrollViewPaging Enabled 属性,但这仅在窗口中只有一个标签时有效。

类似的功能可能看起来像 iTunes 应用程序的中间“相册”部分,一旦检测到任何滑动/平移手势,collectionView 单元格就会自动滚动到某个预定义的点,并带有一些动画。

enter image description here

最佳答案

根据你的评论,如果你想做点击选择的事情,你需要做两件事

1- 在 vi​​ewDidLoad 中禁用 Collection View 滚动

collectionView.isScrollingEnabled = false 

2- 在中心显示选定的单元格,将其添加到您的 didSelectItemAtIndexPath 方法中

 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

collection.selectItem(at: indexPath, animated: true, scrollPosition: .centeredHorizantally)

let cell  = collectionView.cellForItem(at : indexPath) as! YourCollectionViewCellClass
cell.titleLable.font = UIFont.boldSystemFont(ofSize : 20)
}

关于ios - 如何为滚动到中心的 collectionView 单元格制作分页动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45808301/

相关文章:

ios - Swift:在 iOS 应用程序中读取和写入文件

ios - 如何在 Xcode 中定义配色方案

ios - 如何在 iOS swift 的 ARSCNView 中显示 uicollection View

ios - 如何使用 Swift 在 iOS 中检测多行键盘粘贴事件?

ios - Swift 以编程方式设置文本字段的占位符

ios - 无法在 Xcode Playgrounds 上运行 SAConfettiView

ios - 如何以编程方式设置导航栏的标题?

ios - collectionview global header 不会将单元格向下推而是保持在顶部

ios - 使用 AVPlayer 播放下载到文件管理器的 mp3 文件

swift - 从坐标系 WGS84 转换为 SWEREF991330