AutoLayout和程式碼佈局
當同時使用Autolayout和程式碼進行頁面佈局時,會有衝突。當一個檢視已經設定了約束,最好就不要再通過frame對檢視進行修改,因為兩者的衝突,往往會出現佈局結果不是自己想要的,或者frame佈局根本無效的境況。
但是有一種情況比較特殊,那就是通過autolayout對父檢視進行了約束,然後通過程式碼向子檢視中新增檢視的情況,在這種情況下,程式碼佈局是有效地,但是也會出現一些小問題,本文的目的就是儘量找出這些問題,並且給出相應的解決方案。
1.父檢視設定了約束,子檢視需要根據父檢視的frame進行佈局。
在這種情況下,由於父檢視設定了約束,所以在載入父檢視的時候父檢視的frame是會變化的。所以如果要用到父檢視的frame,需要在viewDidAppear或者viewDidLayoutSubviews中設定(viewDidLayoutSubviews先呼叫)。需要注意的是一旦頁面佈局發生變化,viewDidLayoutSubviews就會被呼叫。
2.由於最近找到了一本書,所以暫時不想再更新這篇文章了,有珠玉在前,不敢獻醜了。把書名公佈出來,autolayout和size class的用法在這本書中講的很詳細,媽媽再也不用擔心我的自動佈局啦。
書名:iOS.8.by.Tutorials.2014.12,本人較笨,不喜歡複雜的方法,之前在網上看到的關於autolayout的文章不是講的太淺,就是講述不清,直到看到這本書,我看英文版都覺得講的比網上的文章講的要清楚(似乎英文版一向講的都比較清楚)
說了這麼多,就是說,如果有autolayout不明白的地方,去看這本書中關於autolayout的章節吧,比在網上看文章好多啦!
相關文章
- IOS 介面佈局 AutoLayoutiOS
- 佈局主要程式碼
- 安卓程式碼、圖片和佈局最佳化安卓
- AutoLayout和Masonry兩種方式實現自動佈局的內容包裹和檢視均分
- iOS自動佈局(Autolayout)之VFL(視覺化格式語言)iOS視覺化
- 浮動佈局 和 flex佈局Flex
- android 相對佈局,程式碼建立imageview,佈局居中問題AndroidView
- flex居中佈局程式碼例項Flex
- 網頁上中下佈局程式碼網頁
- 程式碼修煉之路-木桶佈局
- 響應式佈局程式碼例項
- flex聖盃佈局程式碼例項Flex
- css多欄佈局程式碼例項CSS
- css彈性佈局程式碼例項CSS
- jQuery瀑布流佈局程式碼例項jQuery
- flex彈性佈局程式碼例項Flex
- div css左右佈局例項程式碼CSS
- CSS 兩欄佈局和三欄佈局CSS
- 聖盃佈局和雙飛翼佈局
- 雙飛翼佈局和聖盃佈局
- 常用兩欄佈局和三欄佈局
- 安卓程式碼、圖片、佈局、網路和電量優化安卓優化
- 更加愉快的使用xib比例佈局(放棄純程式碼佈局吧)
- CSS 三欄佈局之聖盃佈局和雙飛翼佈局CSS
- CSS佈局–聖盃佈局和雙飛翼佈局以及使用Flex實現聖盃佈局CSSFlex
- css聖盃佈局和雙飛翼佈局CSS
- 純程式碼Autolayout的三種方法
- 使用程式碼實現Autolayout的方法
- 直播網站程式原始碼,FlowLayoutManager 流式佈局網站原始碼
- display: flex彈性佈局程式碼例項Flex
- css九宮格佈局程式碼例項CSS
- 瀑布流佈局實現程式碼詳解
- Android中常見的佈局和佈局引數Android
- 關於聖盃佈局和雙飛翼佈局
- flex結合媒體查詢佈局程式碼Flex
- 響應式佈局簡單程式碼例項
- css數字分頁佈局程式碼例項CSS
- Android 相對佈局RelativeLayout 程式碼示例Android