Mon*_*ong 7 iphone uiscrollview
我有一个UIScrollView滚动一个相当大的UIView.
在某些时候,我想限制用户可以滚动的区域.例如,我可能只想让他们查看视图的底部四分之一.
我可以通过覆盖scrollViewDidScroll来限制区域,然后在视图滚动太远的情况下调用setContentOffset.但是这样我就无法像UIScrollView那样顺利地反弹,当滚动超出UIView的范围时.
有没有更好的方法来限制UIScrollView中的可滚动区域?
tre*_*rsm 17
我会将滚动视图的contentSize属性更改为您希望用户能够滚动的区域的大小,并调整子视图的frame.origin,使得您想要的左上边界出现在(0,0)相对于滚动视图.例如,如果您的视图高度为800点,并且您希望显示底部四分之一,请将contentSize的高度设置为200,并将view.frame.origin的y分量设置为-600.
我发现了一些对我有用的东西。让我们滚动到点0,0,但不进一步:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.x <= -1) {
[scrollView setScrollEnabled:NO];
[self.scrollView setContentOffset:CGPointMake(0, 0) animated:YES];
[scrollView setScrollEnabled:YES];
}
}
Run Code Online (Sandbox Code Playgroud)
您可以对顶部,底部或右侧(x或y)执行相同的操作
| 归档时间: |
|
| 查看次数: |
13284 次 |
| 最近记录: |