在 iOS6、XCode 4.5 中,UIScrollView 不滚动,尽管设置了 contentSize
Posted
技术标签:
【中文标题】在 iOS6、XCode 4.5 中,UIScrollView 不滚动,尽管设置了 contentSize【英文标题】:In iOS6, XCode 4.5, UIScrollView is not Scrolling, despite contentSize being set 【发布时间】:2012-12-13 08:28:35 【问题描述】:在过去的一个小时里,我一直在用头撞墙,试图让我的 scrollView 滚动,但无济于事。在viewDidLoad
我有
NSURL *url = [FlickrFetcher urlForPhoto:self.photoData format:FlickrPhotoFormatLarge];
NSData *imageRawData = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:imageRawData];
self.scrollView.delegate = self;
self.imageView.image = image;
self.scrollView.contentSize = image.size;
self.imageView.frame = CGRectMake(0, 0, image.size.width, image.size.height);
我将 imageView 视图模式设置为左上角。
我的 UIScrollView 是通过选择我的 imageView,然后选择 Editor -> Embed in -> ScrollView 创建的。
还有什么我可以检查/尝试的吗?
【问题讨论】:
把scroll view的frame size作为你的图片尺寸,让contentSize大一点。 【参考方案1】:如果您通过 nib 创建了滚动视图,并且该 nib 具有自动布局功能,则它不会让您滚动。
So go utility window of nib.
Select First tab of utility window.
Remove autolayout and run the application
【讨论】:
我必须找出发生这种情况的原因 这听起来可能是它...我试图找到实用程序窗口,但没有运气。 FWIW,我正在使用最新版本的 xcode 并通过情节提要创建了我的滚动视图。 自动布局是问题所在。一开始没看懂他的描述。基本上,选择你的故事板,然后是文件检查器(第一个选项卡)并取消选中“使用自动布局” 有人知道为什么会这样吗?我在任何地方都找不到。【参考方案2】:清单:
-
图片真的下载了吗? (所以它实际上有大小?)
scrollview outlet 设置了吗?
imageView 是否添加为 scrollView 的子视图?
顺便说一句。不知道这只是示例代码还是真实的,但如果它是真实的,那么同步下载数据真的很糟糕,甚至更糟糕的想法是在 viewDidLoad 中进行。
【讨论】:
是的。图像将显示(只是不滚动)。 (并同意在 viewDidLoad 中下载。我只是在上斯坦福课。这在下一个作业中变成了多线程。)【参考方案3】:我猜是因为你在滚动视图中嵌入了图像视图,所以它的框架正在变成 imageview 的框架。当帧大小和内容大小相等时,滚动视图不会滚动。尝试将滚动视图的框架务实地设置为某个固定的矩形。 ScrollView 的 contentSize 的高度和宽度应该大于 scrollview 的框架的高度和宽度。给它一些滚动空间:)在你的情况下,我猜它们都是相等的。
【讨论】:
啊,我想这可能是它。我尝试记录两者,看起来它们的大小不同: 2012-12-14 10:33:35.909 SimpleScrollView[3439:c07] scrollView contentSize: 3264.000000 x 2448.000000 2012-12-14 10:33:35.909 SimpleScrollView[3439:c07] scrollView 框架:320 x 460.000000以上是关于在 iOS6、XCode 4.5 中,UIScrollView 不滚动,尽管设置了 contentSize的主要内容,如果未能解决你的问题,请参考以下文章
iOS6 和 XCode 4.5 - 无法将应用上传到应用商店
如何将文本字段添加到警报视图? Xcode 4.5 iOS6
IOS 6.0 xcode 4.5 编译错误#import 代码保存在类外的文件中
iOS 项目将 Xcode 4.2 更新到 Xcode 4.5