在iOS6,XCode 4.5中,尽管设置了contentSize,但UIScrollView不是滚动

时间:2012-12-13 08:28:35

标签: objective-c uiscrollview ios6

在最后一小时试图让我的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,然后选择编辑器 - >创建的。嵌入 - >滚动型。

我可以检查/尝试其他任何东西吗?

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

清单:

  1. 图片真的下载了吗? (所以它有规律吗?)
  2. 是否设置了scrollview插座?
  3. 是否将imageView添加为scrollView的子视图?
  4. 顺便说一下。不知道这只是示例代码还是真实的,但如果它是真实的那么同步下载数据真是个坏主意,甚至更糟糕的想法是在viewDidLoad中进行。

答案 2 :(得分:0)

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