0
我想知道哪個是更好的方法來實現一個視圖,它被設計爲具有複雜的子視圖層次結構,比如左側有一個子視圖,右側有一個子視圖,左側子視圖有X個子子視圖在一列中,右側子視圖在一行中具有Y個子子視圖。 (X和Y變化)UIView自動佈局:子視圖的層次結構VS最小視圖層次結構?
兩種方式實現:
- 自左,右視圖(即UIView子類),自左子子視圖,自右子子視圖,根視圖只處理自定義左側和右側視圖,並且它們配置它們的子子視圖
- 只有一個視圖具有一列視圖(即左視圖的子子視圖)在左側和一行視圖(即右視圖的子子視圖)右邊
第一種方法: 優點:
- 清潔層次意味着更好的可維護性。
- 職責分佈在子視圖,使併發症少在每個視圖
缺點:
- 嵌套子視圖層次
- 可能有因自動佈局
- 委託鏈性能越差比較困難,將每個子視圖視爲需要執行某些操作的按鈕,自定義視圖需要將該操作一直委託給r OOT視圖
第二種方法: 優點:
- 少的子視圖
- 可有更好的表現
- 容易委託鏈相比,1號方式
缺點:
- 難以維護/修改,因爲所有的子視圖都在一個水平上,特別是自動佈局
- 凌亂的代碼基礎,因爲所有的意見都在一個基本視圖
貌似第一個方法更好,但它仍然有幾個缺點,是否有一種全新的方式來實施它,以應對所有的缺點?