你要的AutoLayout學習資料都在這里
AutoLayout 第三方庫
PureLayout
自動布局
Masonry
自動布局
如果硬要用官方的VFL(Visual Format Language)
官方的VFL
Cartography
Swift-自動布局
SnapKit
Masonry的Swift移植版
UIView-FDCollapsibleConstraints
AutoLayout輔助工具
Neon
A powerful Swift programmatic UI layout framework.
Sketch-Constraints
Sketch插件類似Autolayout
andyAutoLayout
UIView的Autolayout類目
SDAutoLayout
一句代碼添加Autolayout
AutoLayout學習文章
1、如何使用masonry設計復合型cell
@串哥:其實早在@sunnyxx同學發布UIView-FDCollapsibleConstraints的時候 我就說要寫一下怎么用代碼來稍微麻煩的實現復用的問題 但是一直各種沒時間(主要是我的辦法太復雜 - -) 正好看到@葉孤城同學也說了一下他的解決辦法 所以我來說一下我是如何解決這個問題的。。。
2、自動布局10 Things You Need to Know About Cocoa Auto Layout – Ole Begemann
10 Things You Need to Know About Cocoa Auto Layout-譯文
第一次使用Cocoa Auto Layout時,感覺它與Cocoa開發者所熟知的springs-struts模式有很大的不同。盡管Auto Layout有點復雜,但我發現只需要了解一些基本規則就可以使用它。本文就來列出這些規則。。。
4、一篇厚道的Autolayout及VFL經驗分享
Cocoa autolayout出來蠻久了。以前多次想去深入研究一下,每次都很蛋疼無序。這東西是在有些搞。尤其習慣了code寫布局的。看到Visual format language,簡直要掀桌子。
搜教程,滿世界都是,沒有一個講得透徹的。例子空洞。你們就只會3個控件橫向布局對法?
渾渾噩噩看了多篇。有了點總結。槽不多吐了。簡單講講。
5、AutoLayout 實現固定寬度動態高度的 ScrollView
作為一個iOS 開發者,很多情況下會需要把一個和屏幕等寬的 contentview 添加到一個 scollrview 內部中。大多數的 app 需要有響應式布局,所以使用 Autolayout 可謂明智之選。第一次學習 scrollviews 時,你或許會覺得碉堡了。但它們奇怪的規則也會令人有點沮喪。。
6、有了Auto Layout,為什么你還是害怕寫UITabelView的自適應布局? - IOS - 伯樂在線
Apple 算是最重視應用開發體驗的公司了.從Xib到StoryBoard,從Auto Layout到Size Class,每一次的更新,都會給iOS應用的開發帶來不小的便利.但是,對于絕對多數iOS攻城獅來說,我們依然還是很害怕寫UITabelVIew的自適應布局.當然,害怕不是因為我們不會寫,或者本身有什么特殊的技術點,而是因為太麻煩.當然,文章的后半部分,會給出相應的解決方案,畢竟本文不是為了吐槽而吐槽。。。
7、iOS自動布局高級用法及純手碼約束寫法 - 董鉑然 - 博客園
本文主要介紹幾個我遇到并總結的相對高級的用法(當然啦牛人會覺得這也不算什么)。 簡單的storyboard中上下左右約束,固定寬高啥的用法在這里就不做贅述了。
autolayout自動布局是iOS6以后出現的,但是在開始的一段時間里大家并不怎么會用,都是一上來先勾掉。之后隨著5s,iPhone6的出現屏幕多種多樣。用多層if來判斷尺寸已經完全hold不住了才開始學習自動布局。
在這之前有個叫自動伸縮的autoresizing屬性,這個主要用于一個控件和自己父控件之間的關系。只有autolayout才真正可以在任意兩個控件中建立關系。
8、寒哥細談之AutoLayout全解
@寒哥:看到群中好多朋友還停留在Frame布局的痛苦時代,以及有些開發者接手別人的就項目發現布局一團亂。而且沒有啟動圖的時候并不是真正真正適配iPhone 6(S)、iPhone6(S) Plus等設備 。寒哥準備盡可能詳細的講一講我所掌握的AutoLayout 。。。
9、使用Autolayout實現UITableView的Cell動態布局和高度動態改變 - coding with objc & swift
有人在stackoverflow上問了一個問題:
如何在UITableViewCell中使用Autolayout來實現Cell的內容和子視圖自動計算行高,并且能夠保持平滑滾動的?
這個問題得到了300+的支持和450+的收藏,答案得到了730+的支持,很詳細的說明了如何在iOS7和iOS8上實現UITableView的動態行高功能,并且這個答案對實現UICollectionView的動態行高也具有參考意義。所以在這里將這個答案翻譯了一下,希望對大家有所幫助。以下是答案的全文翻譯。。。
10、【詳解】深入剖析Auto Layout,分析iOS各版本新增特性
@戴銘:先前寫到的一篇Masonry心得文章里已經提到了很多AutoLayout相關的知識,這篇我會更加詳細的對其知識要點進行分析和整理。
11、AutoLayout Tip 2:讓 AutoLayout 與 UIScrollView 合作無間
一些值得記錄的 AutoLayout 用法。。。
12、關于 Autolayout 的暖心 tips (一) - Swift中國
剛開始寫UI界面的時候, 經驗豐富的iOS程序猿都會推薦用純代碼手寫UI, 并指出Autolayout諸多不足之處: 1)不好維護 2)產品腦洞大開時, 以前寫的約束很可能要推翻重來 .
其實, 除了這些缺點, 相信大家也越來越多的發現, 其實Autolayout還是很好用的, 好用到根本不想手寫代碼了...
不過, 對于iPhone不同設備的屏幕適配, 依舊是個棘手的問題...因為每次去面試都會被問到這個問題, "你是如何用autolayout進行適配的?"
這里討論一個比較常見的情況。。。
13、Auto Layout中的VFL使用教程(譯) | One Punch Man
Auto Layout的可視格式化語言(以下簡稱VFL)允許使用者通過ASCII-art格式化字符串定義約束。用一行簡單的代碼,你可以定義多個水平或垂直方向的約束。對比一個一個加約束,這樣可以可以節省很多代碼量。在這個教程中,你可以用VFL做下面這些事情哦:!
構建水平和垂直的約束
在VFL中使用views描述
在VFL中使用metrics
使用layout options去關聯其他界面元素
使用layout guides處理視圖的上下邊距(譯者:比如UINavigationBar)
。。。
14、【官方】Auto Layout Guide: Understanding Auto Layout
Auto Layout dynamically calculates the size and position of all the views in your view hierarchy, based on constraints placed on those views. For example, you can constrain a button so that it is horizontally centered with an Image view and so that the button’s top edge always remains 8 points below the image’s bottom. If the image view’s size or position changes, the button’s position automatically adjusts to match.
This constraint-based approach to design allows you to build user interfaces that dynamically respond to both internal and external changes.
15、Auto Layout Magic: Content Sizing Priorities — KrakenDev
請自帶翻譯功能。
16、孕孕的三個問題之——使用 Auto Layout 之后什么時候才能獲得正確的 frame? | Auto Layout Club
使用過 Auto Layout 的人肯定都遇到過獲取不到真實 frame 的情況,而大部分人經過簡單搜索都能得到一個滿意的解決方案:在想獲取真實 frame 之前調用一下 self.view.layoutIfNeeded(),這是一個能用但是并不好的方法:進行了額外的毫不需要的 frame 計算。
我們從 View Controller 的生命周期來分析這個問題:
。。。
17、有了Auto Layout,為什么還怕寫UITabelView的自適應布局? - IOS - 伯樂在線
Apple 算是最重視應用開發體驗的公司了.從Xib到StoryBoard,從Auto Layout到Size Class,每一次的更新,都會給iOS應用的開發帶來不小的便利.但是,對于絕對多數iOS攻城獅來說,我們依然還是很害怕寫UITabelVIew的自適應布局.當然,害怕不是因為我們不會寫,或者本身有什么特殊的技術點,而是因為太麻煩.當然,文章的后半部分,會給出相應的解決方案,畢竟本文不是為了吐槽而吐槽.
歡迎補充。
來自: http://www.jianshu.com/p/dc0b53da41ea