手寫代碼解決UIScrollView AutoLayout 問題.

相對(duì)于普通的View來說, UIScrollView 的AutoLayout 比較特殊.因?yàn)樗?left/right/top/bottom space 是相對(duì)于 UIScrollView的 contentSize 而不是 bounds 來確定的.如果你嘗試用 UIScrollView和它 subview 的left/right/top/bottom 來互相決定大小的時(shí)候,系統(tǒng)會(huì)警告你"Has ambiguous scrollable content width/height".

解決方法:
step 1 : 在scrollView和它的subviews之間,先添加一個(gè) containView,對(duì)齊scrollview的top & leading邊界, scrollView的width &height 對(duì)齊containView,從而使scrollView 的 contentSize確定下來. (contentSize的大小等于containView.size)

屏幕快照 2016-04-28 下午11.53.07.png

step 2:保存下面的NSLayoutConstraint,如果scrollView的寬度變化(如:網(wǎng)絡(luò)請(qǐng)求回來的內(nèi)容增加了),則需要更新此約束.


屏幕快照 2016-04-28 下午11.54.00.png

step3: 添加scrollView 和它的superView 約束


屏幕快照 2016-04-29 上午12.12.47.png

(self.view)

"Talk is cheap? "
使用storyboard來實(shí)現(xiàn)的例子,有好多在網(wǎng)上了.請(qǐng)自行g(shù)oogle.
OK, 我們不使用storyboard, 用純代碼實(shí)現(xiàn)它
例子代碼:https://github.com/dgutyanghs/UIScrollView-AutoLayout-NotUse-Storyboard

I hope this example will help you, enjoy it!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容