UIScrollView不会反弹

时间:2010-04-16 14:42:52

标签: iphone user-interface uiscrollview

我有一个UIScrollView 包含在自定义UIView 中,其内容大小大于ScrollView的框架。

我能够像我期望的那样拖动滚动,但是这件事并没有给我带来UITableView或UIWebView带来的橡皮筋效果。当你到达一个极端时,它就会停止。

我设置了bounce = YES,还有其他我应该做的事吗?

我阅读了文档,他们说我必须实现代理。我做到了。

他们还说我应该更改缩放级别,但我不希望用户实际上能够缩放,所以我没有设置这些。

4 个答案:

答案 0 :(得分:45)

对于以后找到此帖子的任何人,如果你是UIView的子类,并在每个UIScrollView上重新设置layoutSubviews的框架,那就是问题 - 它取消了反弹:

http://openradar.appspot.com/8045239

你应该做类似的事情:

- (void)layoutSubviews;
{
    [super layoutSubviews];

    CGRect frame = [self calculateScrollViewFrame];
    if (!CGRectEqualToRect(frame, self.scrollView.frame)) 
        self.scrollView.frame = frame;
}

答案 1 :(得分:27)

我遇到了同样的问题,在UIScrollView上并没有全部填满(但我还是希望它反弹)。刚刚设定:

scroll.alwaysBounceVertical/Horizontal = YES;

它按预期工作

答案 2 :(得分:3)

事实证明,将UIScrollView保留在我的自定义UIView中会导致麻烦。

一旦我将自定义UIView切换为从UIScrollView继承,然后弹跳开始工作。

答案 3 :(得分:0)

这很有趣......用户滚动滚动视图时会有很多事情发生吗?也许这可能会导致问题。 iPhone可以多任务,但不能太多。我可以看到您的整个代码与滚动视图有关吗?