代码之家  ›  专栏  ›  技术社区  ›  JuicyFruit

UI集合视图滚动到下一项

  •  1
  • JuicyFruit  · 技术社区  · 10 年前

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

        override func targetContentOffsetForProposedContentOffset(proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint) -> CGPoint {
        return CGPoint(x: 0, y: 0)
       }
    
    2 回复  |  直到 10 年前
        1
  •  2
  •   Payal Maniyar    10 年前

    使用下面的代码。你的问题会解决的。

    YourScrollView.pagingEnabled = YES;
    
        2
  •  1
  •   mashdup    10 年前

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

    i、 e.如果您想要2页,宽度为100,高度为200。您可以将内容大小设置为CGSize 200(宽度)和200(高度)。滚动视图将处理快照和分页。

    如果你想拥有一个函数去访问像goToPage(2)这样的页面。然后您只需要在UIScrollView中调用scrollRectToVisible方法,CGRect为(pageNumber*scrollView.width(或pagewidth),1 height)

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

    推荐文章