关于ScrollView无法滚动的解决方案

今天做了一个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
posted @ 2014-08-04 18:43  ILP  阅读(1521)  评论(0编辑  收藏  举报