1

这个想法是用 UIScrollView 替换 PageController,UIScrollView 应该只滚动到下一个/上一个项目并停止。我找到了一些解决方案,但我只知道我必须使用 targetContentOffsetForProposedContentOffset,但不知道我应该返回什么 CGPoint 以及即使用户高速滚动也如何停止下一个项目。

    override func targetContentOffsetForProposedContentOffset(proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint) -> CGPoint {
    return CGPoint(x: 0, y: 0)
   }
4

2 回答 2

2

使用下面的代码。你的问题将得到解决。

YourScrollView.pagingEnabled = YES;
于 2016-05-26T13:24:54.703 回答
1

使用 UIScrollView,您可以启用分页。该属性称为 pagingEnabled。这意味着如果您正确设置内容大小,它是否会捕捉到全宽(或高度)。

即,如果您想要 2 个页面并且宽度为 100,高度为 200。您将内容大小设置为 CGSize 宽度为 200,高度为 200。滚动视图将处理捕捉和分页。

如果你想有一个功能去像 goToPage(2) 这样的页面。然后你只需要调用 UIScrollView 中的 scrollRectToVisible 方法,其 CGRect 为 (pageNumber * scrollView.width (或页面宽度), 1 height)

看起来您正在使用 Swift,因此您的实现可能会有所不同。

于 2016-05-26T13:20:06.393 回答