是否有办法允许在UIScrollView中进行分页,但将分页限制为一个方向。
例如:允许用户分页背景(向左)但不转发。用例适用于某种类型的入职。我知道我可以添加向前移动的按钮,启用或禁用它们,然后删除滑动,但我不愿意。
答案 0 :(得分:0)
我不知道我是否很清楚你想要什么,但是如何使用UICollectionView:
lazy var onBoardingCollectionView: UICollectionView = {
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.minimumLineSpacing = 0
layout.minimumInteritemSpacing = 0
let cv = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
cv.showsHorizontalScrollIndicator = false
cv.showsVerticalScrollIndicator = false
cv.isPagingEnabled = true
return cv
}()
您可以使用UICollectionViewDelegateFlowLayout中的方法添加具有屏幕大小的自定义单元格:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: SCREENW, height: SCREENH)
}
如果您不想进入特定方向,可以尝试使用此方法显示当前单元格并删除前一个dataSource和集合。
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
let currentPage = Int(scrollView.contentOffset.x / scrollView.frame.width)
print("current cell: ", currentPage)
}