亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

AutoLayout的一些注意事項

2019-11-14 19:21:46
字體:
來源:轉載
供稿:網友

要了解autolayout 首先要知道程序視圖啟動順序:

 

-(void)viewWillAppear:(BOOL)animated{    [super viewWillAppear:animated];    NSLog(@"1");}-(void)updateViewConstraints{    [super updateViewConstraints];    NSLog(@"2");}-(void)viewDidLayoutSubviews{    //調用不止一次 跟子視圖的數量有關    [super viewDidLayoutSubviews];    NSLog(@"3");}-(void)viewDidAppear:(BOOL)animated{    [super viewDidAppear:animated];    NSLog(@"4");}updateViewConstraints方法中進行視圖上布局計算,得出各個控件的frame.但是此時并沒有將這些frame賦值給各個控件。在viewDidLayoutSubviews方法中,各個控件的frame賦值已經完成,但是并不是在這個方法中賦值的。
如果我們要代碼添加控件和約束,別忘了先去除控件的autoresizing ,否則會報出警告,因為二者會存在約束沖突。translatesAutoresizingMaskIntoConstraints=NO 代碼添加控件還應注意,控件的創建和添加應在updateViewConstraints 方法之前。否則 每次添加控件都會觸發updateViewConstraints方法,導致界面會抖動,以及出現不期望的結果。當我們使用自動布局時還應注意,控件分為兩種,一種是固定寬高的,另一種是不固定的依靠自身內容決定寬高的。比如 開關控件就是個固定大小的,它的大小就是那么大,不會改變。對于這種控件,我們只需要設定它的左邊和上邊的位置就可以了,設置好之后,這個控件還可以作為其他控件的約束參照。但是比如label 這樣根據內容決定寬高的控件,雖然在有內容時候,它也可以只設置左邊和上邊的距離,但是它不能作為其他控件的參照了,除非鎖定了它的寬高。比如 我們設定label ,距離左邊父控件 20 ,距離上邊父控件20.那么假如我們有另一個控件(假定為button)我們不可以設定button 距離左邊這個label 20。<span style="font-family: Arial, Helvetica, sans-serif;">自動布局中大多數控件都是好設定的,但是比較難搞的時scrollview 。因為它是靠自身內容的大小來決定它的大小的。比如,我們設定了scrollview  距離左上下右的距離都是20 ,那么它會提示警告。解決的辦法之一就是在scrollView內部再添加一個容器view,將這個view設定為與scrollview 完全貼近。然后將這個view的大小改為我們所需要的contentView的大小。最后再這個view中添加控件即可實現滾動。</span>
總體來說自動布局很好地解決了屏幕適配 ,尤其是橫豎屏切換的問題。大大簡化了我們的計算代碼,但是我們又有多少應用是同時支持橫豎屏的呢?而且自動布局使我們界面的動畫及控件的動態創建都收到了極大的影響,盡管這些影響都能解決,但是還是不如計算frame方便。而且自動布局盡管引入了vfl 語言簡化代碼,但是約束設置錯誤的話真的是很難查,如果我們需要使用動畫的話,需要將約束設置為屬性。設置成屬性的話,不如計算frame方便。如果你數學不是很差的話,建議你還是使用計算frame 來布局吧</span>

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美视频精品一区| 久久精品成人欧美大片| 亚洲欧美国产高清va在线播| 欧美日韩中文字幕综合视频| 96精品视频在线| 在线免费看av不卡| 97视频在线观看免费高清完整版在线观看| 精品无人区乱码1区2区3区在线| 国产精品青草久久久久福利99| 精品一区二区三区四区| 亚洲午夜未满十八勿入免费观看全集| 国产精品美女久久久久av超清| 亚洲欧美日韩一区二区三区在线| 日韩激情片免费| 国产成人福利视频| 成人黄色中文字幕| 91免费观看网站| 欧美色视频日本高清在线观看| 亚洲一区二区三区久久| 国产成人精品久久| 成人亲热视频网站| 另类天堂视频在线观看| 久久精品视频在线播放| 国产精品免费视频xxxx| 91久久精品国产91久久性色| 欧美一级免费视频| 欧美日韩国产一区二区三区| 亚洲高清一二三区| 欧美在线激情网| 亚洲人成电影网站色www| 国产伦精品一区二区三区精品视频| 欧美乱人伦中文字幕在线| 日韩精品中文在线观看| 日韩精品极品视频免费观看| 成人精品aaaa网站| 精品露脸国产偷人在视频| 岛国视频午夜一区免费在线观看| 日韩av不卡电影| 日韩欧美中文字幕在线播放| 中文字幕日韩电影| 国产午夜精品视频| 国产精品福利网站| 日本欧美一二三区| 亚洲qvod图片区电影| 在线午夜精品自拍| 亚洲精品久久久久久久久久久久久| 亚洲欧美福利视频| 日韩av男人的天堂| 亚洲人成在线观看| 国产成人综合精品在线| 精品少妇v888av| 欧美激情一区二区久久久| 91久久精品日日躁夜夜躁国产| 日韩国产一区三区| 国产成人精品av| 亚洲欧美国内爽妇网| 国产网站欧美日韩免费精品在线观看| 精品国产91久久久久久老师| 韩国v欧美v日本v亚洲| 91亚洲午夜在线| 日本韩国欧美精品大片卡二| 久久久久久久久久国产| 欧美日韩国产精品专区| 久久人人爽人人爽爽久久| 日韩极品精品视频免费观看| 上原亚衣av一区二区三区| 久久精品影视伊人网| 日韩精品视频在线免费观看| 日本在线精品视频| 国产专区精品视频| 日韩av网站导航| 91成人精品网站| 国产成人高潮免费观看精品| 8090理伦午夜在线电影| 欧美成人中文字幕在线| 亚洲一区二区三区在线视频| 在线视频欧美日韩精品| 国产日韩在线看| 亚洲国产精品va| 超薄丝袜一区二区| 久久久久久有精品国产| 欧美尤物巨大精品爽| 日韩av手机在线| 成人免费视频xnxx.com| 亚洲欧美激情视频| 亚洲第一男人天堂| 精品久久久久久久中文字幕| 欧美日韩电影在线观看| 国产一区二区三区在线| 在线电影欧美日韩一区二区私密| 久久精品福利视频| 亚洲国产精久久久久久| 国产999精品视频| 深夜福利一区二区| 伊人久久男人天堂| 亚洲成成品网站| 日本成人黄色片| 热re91久久精品国99热蜜臀| 岛国av一区二区在线在线观看| 精品国内亚洲在观看18黄| 亚洲欧美日韩精品| 九色91av视频| 日韩电影免费观看中文字幕| 97精品一区二区视频在线观看| 91产国在线观看动作片喷水| 另类天堂视频在线观看| zzijzzij亚洲日本成熟少妇| 国产精品久久精品| 国产精品视频一| 国产精品99久久久久久人| 成人深夜直播免费观看| 亚洲奶大毛多的老太婆| 亚洲人成网站色ww在线| 成人久久久久爱| 国产va免费精品高清在线观看| 一本一本久久a久久精品综合小说| 热久久这里只有精品| 91亚洲国产成人精品性色| 日韩电影免费在线观看中文字幕| 亚洲视频视频在线| 亚洲免费av片| 亚洲片av在线| 日韩av在线不卡| 日韩欧美在线视频免费观看| 日本亚洲精品在线观看| 国产一级揄自揄精品视频| 欧美亚洲国产另类| 久久精品国产精品亚洲| 黑丝美女久久久| 国产成人精品综合久久久| 一道本无吗dⅴd在线播放一区| 国产精品自产拍在线观看中文| 色婷婷av一区二区三区久久| 欧美成人激情在线| 中文字幕综合一区| 午夜免费日韩视频| 国模叶桐国产精品一区| 亚洲国产三级网| 亚洲欧美另类中文字幕| 亚洲欧美中文在线视频| 亚洲一区二区三| 亚洲福利视频免费观看| 日韩在线一区二区三区免费视频| 欧美性猛交视频| www.久久撸.com| 亚洲欧美日韩精品| 96国产粉嫩美女| 欧美性xxxxxxxxx| 日韩精品一二三四区| 日韩最新中文字幕电影免费看| 91国内产香蕉| 国产精品美女免费| 一本色道久久综合亚洲精品小说| 国产精品久久国产精品99gif| 成人黄色在线免费| 久久久精品国产| 91久久久久久久久久| 欧美一级高清免费| 性日韩欧美在线视频| 精品国内自产拍在线观看| 亚洲一区二区三区视频播放| 亚洲精品欧美极品| 136fldh精品导航福利| 精品国内亚洲在观看18黄|