2012-12-13 67 views
1

我在最后一个小时试图让我的scrollView滚动,但无济于事。在viewDidLoad我有在iOS6中,XCode 4.5,UIScrollView不滚动,尽管contentSize被设置为

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,然后编辑 - >嵌入 - > ScrollView创建的。

其他我可以检查/尝试吗?

+0

使滚动视图的帧大小为图像大小,并使contentSize更高一些。 –

回答

3

如果您已经通过笔尖创建了滚动视图,并且该笔尖具有自动布局功能,那么它将不会让您滚动。

So go utility window of nib. 
Select First tab of utility window. 
Remove autolayout and run the application 
+0

我将不得不找出为什么发生这种情况 –

+0

这听起来像它可能是...我试图找到实用程序窗口,但没有运气。 FWIW,我正在使用最新版本的xcode,并通过故事板创建了我的滚动视图。 – Bill

+0

Autolayout是问题。起初我不明白他的描述。基本上,选择你的故事板,然后选择文件检查器(第一个选项卡)并取消选中“使用Autolayout” – Bill

0

清单:

  1. IS影像真的下载? (所以它actaullly有大小?)
  2. scrollview出口设置?
  3. imageView作为scrollView的子视图添加了吗?

Btw。不知道这只是示例代码还是真实的,但如果它是真实的,那么同步下载数据是非常糟糕的想法,甚至更糟的想法是在viewDidLoad中执行它。

+0

全是。图像将显示(只是不滚动)。 (并同意在viewDidLoad中下载,我只是通过斯坦福大学的课程,在下一个作业中它变成了多线程)。 – Bill

0

我想这是因为你有图像视图嵌入滚动视图,所以它的框架正在成为imageview的框架。当帧大小和内容大小相等时,滚动视图不会滚动。尝试将scrollview的框架务实地设置为某个固定的矩形。 ScrollView的contentSize的高度和宽度应该大于scrollview的框架的高度和宽度。给它一些滚动空间:)在你的情况下,他们都是平等的,我猜。

+0

啊,我认为这可能是。我试着登录和看起来他们的大小不同: – Bill

+0

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.000000 x 460.000000 – Bill