UI基本原则
1 職責
1.1 UIViewController的職責
UIView、事件的管理者,負責建立依賴關系。
1.2 UIView的職責
是子視圖、事件、CALayer的管理者。
處理布局。
2 布局
大多數情況下,AutoLayout是自上而下進行布局,視圖樹上,父節點設置subviews的約束。
這樣只要知道了樹根的frame就可以繪制出整棵視圖樹。
有些情況下,下層布局會影響上層,如tableView的自動估計、朋友圈新增回復。
這時候,視圖樹子節點需要告訴相應的父節點去重新計算自己的約束,并刷新布局。
3 代碼組織
3.1 對于view
initWithFrame中
組裝subview
setModel中
配置數據源,needLayout
layoutSubview中
處理布局
3.2 對于viewController
init,只有需要傳一些參數的時候,才需要
不要出現self.view,只做普通屬性賦值(如model,詳情頁url等)
viewDidLoad中
組裝好subview
viewWilAppear中
處理數據相關,處理系統級任務(比如statusbar、網絡監聽等)
viewDidLayoutSubviews中
處理布局
subview在getter中初始化
瘦身
ViewModel、RAC、category
4 常見類繼承關系
5 常見做法
把loadingView等常見統一操作,寫到一個UIViewController的分類中。
轉載于:https://juejin.im/post/5d077fa0e51d45105d63a50a
總結
- 上一篇: JDBC、分层(分包)
- 下一篇: 【转】NIO的定义和原理是什么?