UIScrollView 并不总是滚动让我发疯
Posted
技术标签:
【中文标题】UIScrollView 并不总是滚动让我发疯【英文标题】:UIScrollView doesn't always scroll driving me crazy 【发布时间】:2013-11-02 21:10:51 【问题描述】:我有一个 UIScrollView,里面有 2 个 UIImageView。如果将它们相加,图像的高度约为 2330 像素。
在 Storyboard (iPad) 中,我将 UIScrollView 的大小设置为宽度 768,高度设置为 1024。
在 ViewController 的 viewDidLoad 中,我以编程方式设置 UIScrollView 的 contentsize,如下所示:
- (void)viewDidLoad
[super viewDidLoad];
[self.introScrollView setScrollEnabled:YES];
self.introScrollView.contentSize=CGSizeMake(768,4500);
高度为 4500 像素,足以容纳两个图像。 有趣的是,它工作了一次,然后又停止工作了!!!它怎么可能起作用然后又停止了。这不合逻辑。一定是bug什么的。
【问题讨论】:
【参考方案1】:第一个最常见的原因是您已经处理过的 contentSize。
第二个最常见的原因是未设置出口 NSLog(@"%@",self.introScrollView);
不应为 nil。如果是,那么您将永远没有机会设置 contentSize。
第三个是滚动视图上的 userInteractionEnabled 已在 IB 或其他地方设置为 NO。
遥远的第四个是父级上的手势识别器或重叠的兄弟级正在窃取手势。
在这种情况下,我会押注 #2。
【讨论】:
我已经检查了 #2 并在控制台中输出:我在 IB 中为 UIScrollView 关闭了 AutoLayout,它自动删除了 UIImageViews 的约束,现在它就像一个魅力!
【讨论】:
抱歉,我离开了一整天,无法帮助您。很高兴您开始工作(尽管我不确定可以对子视图做些什么来产生影响)。您可以将自己的答案标记为正确,因为它有效。以上是关于UIScrollView 并不总是滚动让我发疯的主要内容,如果未能解决你的问题,请参考以下文章