不使用auto layout的时候可以把scroll view设为root view,然后把内容直接加到scroll view里,所有的content layout结束之后更新scroll view的content size就可以了。
使用auto layout的话好像不能这么干了,要么使用UIView作为root view,把scroll view加进去,再把content加到scroll view里,要么使用scroll view作为root view,然后得加个content wrapper,再把所有的content加到wrapper里去,总之就是多了一层,有点蛋疼,我研究半天也没整明白该怎样在不修改view hierarchy的情况下实现同样的UI效果,按照文档上的说明,我给所有的content view都设定了leading, trailing, top, bottom, width, height,照理说这样是可以计算出需要的content size的,但是使用原来的view hierarchy就是不行,因为我设定了bottom space to bottom layout guide,导致在运行的时候我设的高度直接被layout系统给丢弃了,不知道这是不是个bug。
也就是说在不使用Auto Layout的时候view hierarchy是这样的:
UIScrollView-|
-------------|first content
-------------|second content
....
-------------|last content
现在必须得使用这样的view hierarchy才能实现一样的UI:
UIView-|
-------|UIScrollView-|
---------------------|first content
---------------------|second content
....
---------------------|last content
或者:
UIScrollView-|
-------------|Content Wrapper<UIView>-|
--------------------------------------|first content
--------------------------------------|second content
....
--------------------------------------|last content
有没有人知道在不改变view hierarchy的情况下如何使用auto layout实现同样的UI效果呢?
使用auto layout的话好像不能这么干了,要么使用UIView作为root view,把scroll view加进去,再把content加到scroll view里,要么使用scroll view作为root view,然后得加个content wrapper,再把所有的content加到wrapper里去,总之就是多了一层,有点蛋疼,我研究半天也没整明白该怎样在不修改view hierarchy的情况下实现同样的UI效果,按照文档上的说明,我给所有的content view都设定了leading, trailing, top, bottom, width, height,照理说这样是可以计算出需要的content size的,但是使用原来的view hierarchy就是不行,因为我设定了bottom space to bottom layout guide,导致在运行的时候我设的高度直接被layout系统给丢弃了,不知道这是不是个bug。
也就是说在不使用Auto Layout的时候view hierarchy是这样的:
UIScrollView-|
-------------|first content
-------------|second content
....
-------------|last content
现在必须得使用这样的view hierarchy才能实现一样的UI:
UIView-|
-------|UIScrollView-|
---------------------|first content
---------------------|second content
....
---------------------|last content
或者:
UIScrollView-|
-------------|Content Wrapper<UIView>-|
--------------------------------------|first content
--------------------------------------|second content
....
--------------------------------------|last content
有没有人知道在不改变view hierarchy的情况下如何使用auto layout实现同样的UI效果呢?