1

在过去的一个小时里,我一直把头撞在墙上,试图让我的 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 创建的。

还有什么我可以检查/尝试的吗?

4

3 回答 3

3

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

So go utility window of nib.
Select First tab of utility window.
Remove autolayout and run the application
于 2012-12-13T09:04:50.930 回答
0

清单:

  1. 图像真的下载了吗?(所以它实际上有大小?)
  2. 是否设置了滚动视图插座?
  3. imageView 是否添加为 scrollView 的子视图?

顺便提一句。不知道这只是示例代码还是真实的,但如果它是真实的,那么同步下载数据真的很糟糕,甚至更糟糕的想法是在 viewDidLoad 中进行。

于 2012-12-13T08:33:54.573 回答
0

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

于 2012-12-14T14:53:59.670 回答