dug*_*gla 7 uiscrollview uiscrollviewdelegate ios5
在UIScrollView的左/右滚动上设置限制的最佳方法是什么.我原本以为这很容易,但我所有的尝试都没有成功.
所以,为了清楚起见,我需要一个解决方案,允许我在使用我的应用程序时以编程方式限制滚动范围.这通常是为了响应所显示数据的变化.
谢谢,
道格
Vla*_*mir 11
您可以使用滚动视图的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;
}
Run Code Online (Sandbox Code Playgroud)
dug*_*gla -5
我采用了在重载的layoutSubviews 方法中放置平移约束的方法。
伪代码:
Calculate criteria for constraining pan
if (pan-constraint-is-met) {
Calculate pan-limit
[self setContentOffset:limitedContentOffset];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9979 次 |
| 最近记录: |