ios5 – iOS.如何限制UIScrollview滚动到有限的范围?

参见英文答案 > Limiting the scrollable area in UIScrollView4个
在UIScrollView的左/右滚动上设置限制的最佳方法是什么.我本以为这会很容易,但我所有的尝试都没有成功.

所以,为了清楚起见,我需要一个解决方案,允许我在使用我的应用程序时以编程方式限制滚动范围.这通常是为了响应所显示数据的变化.

谢谢,
道格

解决方法

您可以使用滚动视图的contentSize属性控制内容的大小.如果这对您来说还不够(例如,您需要将滚动区域限制在内容中间的某个任意区域),则可以强制contentOffset在滚动视图的委托方法中处于所需限制.

基本上代码可能如下所示:

- (void) scrollViewDidScroll:(UIScrollView*)scroll{
    CGPoint offset = scroll.contentOffset;

    // Check if current offset is within limit and adjust if it is not
    if (offset.x < minOffsetX) offset.x = minOffsetX;
    if (offset.y < minOffsetY) offset.y = minOffsetY;
    if (offset.x > maxOffsetX) offset.x = maxOffsetX;
    if (offset.y > maxOffsetY) offset.y = maxOffsetY;

    // Set offset to adjusted value
    scroll.contentOffset = offset;
}

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...