今天做了一个ScrollView的小例子(我的环境Xcode5 IOS7),结果发现无法滚动,即使设置了scrollView的contentSize还是不行,于是研究了一番,最终找到了解决方案:
在ios6之前,因为Xcode没有Autolayout的机制,所以直接使用scrollView,设置它的contentSize即可正常滚动
在ios6之后,因为Xcode引入了Autolayout的机制,所以我们设置的contentSize被修改为适合屏幕大小的值,也就是说自适应啦,因此无法滚动,解决方案如下:
直接去掉scrollView的Autolayout即可,但是这种方式不完美,毕竟Autolayout是官方推荐的,轻易去掉会引起其他问题,因此慎用。
在viewController中重载 - (void)viewDidAppear:(BOOL)animated 方法,并且设置contentSize,代码如下:
复制代码
1 #import "ImaginariumViewController.h"
2
3 @interface ImaginariumViewController ()
4 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
5 @property (weak, nonatomic) IBOutlet UIImageView *imageView;
6 @end
7
8 @implementation ImaginariumViewController
9
10 - (void)viewDidAppear:(BOOL)animated
11 {
12 [super viewDidAppear:animated];
13 self.scrollView.contentSize = self.imageView.image.size;
14 self.imageView.frame = CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height);
15 }
16
17 @end关于ScrollView无法滚动的解决方案,布布扣,bubuko.com
关于ScrollView无法滚动的解决方案
原文:http://www.cnblogs.com/lizhipeng888/p/3890815.html