ios - 如何在 iOS 10 Swift 3 中创建水平轮播

标签 ios swift3

最近我从 Android 世界切换到 iOS。我看到了两个用于创建水平 slider 的选项。我的目标是在这张图片上创建一个水平的卡片 slider 。 horizontal viewpager cards我很困惑哪个元素需要 iOS 中的最佳选项。我应该为此使用 CollectionView 还是应该为此使用 PageViewController? 由于我是初学者,所以在这个阶段我不能以有限的知识使用图书馆。请建议我该怎么做

最佳答案

简答

您应该使用 UICollectionView。

更详细的回答

1) 使用UICollectionViewFlowLayout设置水平布局

let layout = UICollectionViewFlowLayout()
// The size of each item. Pick a suitable height so that the items do not get stacked:
layout.itemSize = CGSize(width: view.frame.width / 2, height: view.frame.height)
// The most important part:
layout.scrollDirection = .horizontal
// Then initialize collectionView
let collectionView = UICollectionView(frame: frame, collectionViewLayout: layout)

2)设置缩放(伪代码)

我。让self实现UIScrollViewDelegate方法scrollViewDidScroll(UIScrollView)

二。设置 collectionView.delgate = self

三。在 scrollViewDidScroll(UIScrollView) 中,通过将 scrollView as 转换为获取所有可见单元格! UICollectionView 并获取 visibleCells 属性。

iv.对于可见单元格中的单元格,根据单元格与屏幕水平中心的距离,使用 CGAffineTransform 设置适当的比例(单元格内容,不是单元格本身)。这可能需要一些算术;这应该工作得很好:

s = −0.00005 * pow(cell.center.x, 2) + 1.5

希望对您有所帮助!如果需要,请随时要求澄清。

关于ios - 如何在 iOS 10 Swift 3 中创建水平轮播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45383395/

相关文章:

ios - 为什么 iPhone 6 Plus 在真机上的屏幕尺寸是 375x667?

ios - 初始入职后如何过渡到主要应用程序流程

swift - 我的 segue 无法在 imagepicker 中工作

ios - 无法在 Swift 3 中为 URL 编码字符串

iphone - 我已经创建了 lib.a 文件并添加了一些类、资源和图像。当我将这个 lib 文件与头文件一起使用时,它会出现异常

ios - UICollectionView 快速滚动/滑动到下一个项目

ios - 在 iOS 中对 UITextView 的选定文本应用富文本格式

ios - 使用单个导航栏从嵌入式 UISplitViewController 返回导航

ios - iOS "views"和 HTML div 相似吗?

ios - 动态单元格大小问题