UIScrollView AutoLayout
先說結論,當 scrollView 加上 autolayout 後,賦予值給 contentSize 這個屬性時會沒有作用,原因是這時候的 contentSize 會根據其 subView 大小來自動計算。
scrollView 自身的約束,可以像正常的 view 參照其 superView 添加,但以下兩點需要注意
1.scrollView 裡的 subView 尺寸不能直接以 scrollView 的尺寸為參照2.scrollView 裡的 subView 的約束必須要完整設置
下面我們做個簡單範例,scrollView 裡加上兩個 imageView,像以往一樣直接添加約束,但運行後會發現,明明設置 imageView 的左右邊和 superView 的左右邊一樣,但是 imageView 的 layout 還是不對。
第一種解法
添加一個 contentView ,讓兩個 imageView 的約束都去參照這個 contentView,而不是直接參照 scrollView
第二種解法
我們將兩個 imageView 的約束都完整設置,也就是說top/leading/bottom/trailing 以及寬和高都需要設置
附上 Demo code