Xcode8 之后蘋(píng)果似乎又推薦使用 autoresizing, 但與之前不同的是 autoresizing masks 在運(yùn)行時(shí)會(huì)轉(zhuǎn)換成約束争便。
同時(shí)蘋(píng)果提出了一個(gè)概念叫 Incrementally Adopting Autolayout。 即簡(jiǎn)單的布局用 autoresizing, 者復(fù)雜布局用constraints从橘,兩者不能共同使用。還有一點(diǎn)新的特性是你可以構(gòu)造 ambiguous 的約束了绸贡。
PS: 我在做項(xiàng)目的時(shí)候遇到過(guò)的一個(gè)問(wèn)題就是寨腔,如果你在 xib 或者 storyboard 上給一個(gè) view 添加了約束,那在 viewDidLoad 或者 ViewWillAppear 里你會(huì)發(fā)現(xiàn)這個(gè) view 的長(zhǎng)和寬都是 1000薄扁,并不是 xib 或者是 storyboard 里的值剪返。這個(gè)會(huì)造成一些麻煩,比如說(shuō)設(shè)置 cornerRadius 導(dǎo)致 View 不顯示啊或者不起作用等等邓梅。但是如果你想獲取到這個(gè)值你就可以采用 autoresizing脱盲。環(huán)境是 Swift 2.3, Xcode 8。這些都是自己實(shí)驗(yàn)出來(lái)的日缨,文檔倒是沒(méi)找到
詳細(xì)的請(qǐng)看 WWDC 2016 | What's New in Auto Layout钱反,只需看前面10幾分鐘。