比如【详细资料】,【微博】,【粉丝】等等那一行,是应该把每个UILabel或者UIButton自定义到一个UIView的子类里面,还是在Controller里一个一个加进去?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
這幾個按鈕有類似的 UI,所以如果我拿到這樣的 UI 稿一定會自訂一個 UIButton,上下兩個子 UILabel,暴露 setText 之類。 其次,即使不是馬上會重複使用的 View,因為數字 + 文字說明整體是一個 UIButton,所以我覺得在 Controller 中組裝他不是很合理,還是會抽象成一個自訂的 View。
個人覺得最好還是封裝一下,邏輯比較清晰,要說不封裝也沒太大影響。
如果是我就不封裝,直接在viewcontroller中加就行,覺得封裝意義不大. 另外推薦你用storyboard直接視覺化設計,簡單易用,省了大量佈局代碼,且支持橫屏自動佈局,支持高度自動佈局適應.
不封裝沒有問題,但是封裝有利於管理,邏輯比較清楚,如果要改的話也比較好改。
自訂的UIView 封裝也可以放到storyboard 裡面啊。 例如TTTAttributedLabel 繼承 UILabel,在storyboard 裡面把UILabel拖上去,然後在 identity inspector 中把 Custom Class 改為TTTAttributedLabel即可。
TTTAttributedLabel
UILabel
這幾個按鈕有類似的 UI,所以如果我拿到這樣的 UI 稿一定會自訂一個 UIButton,上下兩個子 UILabel,暴露 setText 之類。 其次,即使不是馬上會重複使用的 View,因為數字 + 文字說明整體是一個 UIButton,所以我覺得在 Controller 中組裝他不是很合理,還是會抽象成一個自訂的 View。
個人覺得最好還是封裝一下,邏輯比較清晰,要說不封裝也沒太大影響。
如果是我就不封裝,直接在viewcontroller中加就行,覺得封裝意義不大. 另外推薦你用storyboard直接視覺化設計,簡單易用,省了大量佈局代碼,且支持橫屏自動佈局,支持高度自動佈局適應.
不封裝沒有問題,但是封裝有利於管理,邏輯比較清楚,如果要改的話也比較好改。
自訂的UIView 封裝也可以放到storyboard 裡面啊。
例如
TTTAttributedLabel
繼承UILabel
,在storyboard 裡面把UILabel
拖上去,然後在 identity inspector 中把 Custom Class 改為TTTAttributedLabel
即可。