UIScrollView不能滚动的问题

原创 2013年12月05日 08:57:15

项目使用AutoLayout,故事板,code5,ios7

contentSize最好在viewDidAppear中设置,原因:


在iOS6中,如果像旧版本的资料提到的那样,用IB将一个ScrollView拖到.h文件中创建一个outlet,并在viewDidLoad函数中设置ScrollView的contentSize属性的话,会发现运行的程序中ScrollView可见,但无法拖动。这是因为iOS6中的AutoLayout机制,在viewDidLoad函数被执行后,AutoLayout会重新把contentSize修改为符合屏幕大小的数值(也就是说,现在的contentSize又适合了屏幕大小,并没有大于UIScrollView本身的大小,当然也就不能滚动了)。

解决办法是重写viewDidAppear:(BOOL)animated方法,在父类方法调用之后再修改contentSize属性:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    self.theScroller.contentSize=CGSizeMake(400.0,600.0);
}

这个函数会在autoLayout之后被执行,从而避免了contentSize属性被再次修改。

但IOS 7中,在viewDidLoad中设置也有作用。


自己的ScrollView不能滚动的原因:

在IB中,一个label与ScrollView同视图层次(既,不是包含关系),自己曾经来回拖动两者来更改他们的上下顺序,导致AutoLayout出问题。(吐槽:你丫的好脆弱哦)

解决办法:

删除label与ScrollView,在IB中重新拖放,先拖放ScrollView,再拖放Label(让Label与ScrollView处于同一视图层次,不是包含关系,可在IB中直接把Label拖放到左侧列表中)。

拖放后的效果与前面一模一样,但没有不能滚动的问题了。


注:UITableView也会出现上面的问题。



xib正确创建可滑动的UIScrollView

我们在xib里面创建scrollview是不能直接设置contentSize的,这就导致用xib创建出得Scrollview不能滑动。正确的做法是: 1.创建ScrollView 2....
  • u012701023
  • u012701023
  • 2016年01月11日 16:52
  • 1626

iOS9 TableView和ScrollView滚动不响应问题

今天开始适配iOS9,发现在有UITableView或是ScrollView的界面滚动卡顿,研究了下是因为tableview的cell里有可以相应点击事件的Button,当我点击到Button上滑动的...
  • meegomeego
  • meegomeego
  • 2015年09月18日 15:59
  • 7302

IOS开发~UISCrollView与UITableView嵌套使用终极解决方案

http://blog.csdn.net/lizhongfu2013/article/details/12063413 问题由来:项目需要做类似网易新闻的那种UIScrollView上放多个...
  • u011303663
  • u011303663
  • 2016年01月08日 15:00
  • 4254

IOS8下的UIScrollView有子控件时滑动经常不能滚动解决办法

在ios8下运行以前开发的项目时,发现scrollview
  • shengyumojian
  • shengyumojian
  • 2014年09月23日 10:12
  • 6116

UIScrollview循环滚动

  • 2016年03月29日 09:22
  • 743KB
  • 下载

UIScrollView使用在故事板中使用自动布局实现滚动

  • 2014年12月16日 17:03
  • 67KB
  • 下载

UIScrollView页面自动滚动效果(记得给好评呀)

  • 2015年01月29日 17:17
  • 102KB
  • 下载

tableView横向滚动,实现UiscrollView复用的功能

  • 2015年02月05日 16:37
  • 69KB
  • 下载

IOS uiscrollview 实现图片的放大缩小滚动浏览

  • 2015年03月19日 16:02
  • 4KB
  • 下载

uiscrollview循环滚动

  • 2012年12月18日 17:24
  • 475KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UIScrollView不能滚动的问题
举报原因:
原因补充:

(最多只允许输入30个字)