我有一个UIScrollView 包含在自定义UIView 中,其内容大小大于ScrollView的框架。
我能够像我期望的那样拖动滚动,但是这件事并没有给我带来UITableView或UIWebView带来的橡皮筋效果。当你到达一个极端时,它就会停止。
我设置了bounce = YES
,还有其他我应该做的事吗?
我阅读了文档,他们说我必须实现代理。我做到了。
他们还说我应该更改缩放级别,但我不希望用户实际上能够缩放,所以我没有设置这些。
答案 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可以多任务,但不能太多。我可以看到您的整个代码与滚动视图有关吗?