在xib(storyboard)中使用 UIScrollView, 默认是勾选了autolayout选项的,在autolayout下,iOS计算UIScrollView的contentsize的机制是略有不同。在autolayout中,会在viewDidAppear之前根据subview的constraint重新计算UIScrollView的contentsize。当在viewdidload里手动设置contentsize时,会再重新计算一次,把前面手动设置的值覆盖掉。
所以,iOS7中,需在viewDidLayoutSubviews中设置scrollView.contentSize属性。
iOS8及以上,只需要在viewDidAppear方法中设置就好了。