应该就是勾选了autolayout选项,导致的。
在autolayout下,ios计算scrollview的contentsize的机制是略有不同的。
在autolayout下,会在viewDidAppear之前根据subview的constraint重新计算scrollview的contentsize。 这就是为什么,在viewdidload里面手动设置了contentsize没用。因为在后面,会再重新计算一次,前面手动设置的值会被覆盖掉。
解决办法就是:
1.去除autolayout选项,自己手动设置contentsize
2.如果要使用autolayout,要么自己设置完subview的constraint,然后让系统自动根据constraint计算出contentsize。 要么就在viewDidAppear里面自己手动设置contentsize。