这个想法是用PageController代替UIScrollView,UIScrollView只应该滚动到下一个/上一个项目并停止。我找到了一些解决方案,但我只知道我必须使用targetContentOffsetForProposedContentOffset,但是不知道我应该返回什么CGPoint,也不知道如何在下一个项目上停止,即使用户以高速滚动。
override func targetContentOffsetForProposedContentOffset(proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint) -> CGPoint {
return CGPoint(x: 0, y: 0)
}
发布于 2016-05-26 13:20:06
使用UIScrollView,您可以启用分页。该属性称为pagingEnabled。这意味着,如果您适当地设置内容大小,它将达到完整的宽度(或高度)。
也就是说,如果您需要2页,并且宽度为100,高度为200。您将内容大小设置为宽度为CGSize 200,高度为200。滚动视图将处理抓取和分页。
如果您想要一个函数转到像goToPage(2)这样的页面。然后,只需在UIScrollView中调用CGRect为(pageNumber * scrollView.width (或页面宽度)1)的CGRect方法即可。
看起来您正在使用Swift,因此您的实现可能会有所不同。
发布于 2016-05-26 13:24:54
使用下面的代码。你的问题会解决的。
YourScrollView.pagingEnabled = YES;
https://stackoverflow.com/questions/37461819
复制相似问题