我正在嘗試創建一個自定義的UIButton。它有一個(變化的)圖像,一些信息文本,當然還有標題等更標準的東西。我正在使用界面構建器和故事板來完成我應用程序中的大部分設計工作。構建由其他UIViews組成的UIButton的正確方法是什麼?
建立一個像這樣的自定義UIButton的最佳做法是什麼?
我決定反對子類化,然後只是接管繪圖,因爲按鈕可以由更多標準元素構建而成。
相反,我試着繼承UIButton並構建和添加像UIImageView,UILabel等子視圖。這似乎很有用,但有一個例外,我不知道什麼時候放置所有東西,因爲邊界沒有在awakeFromNib中設置,initWithFrame也不會被調用。最後,我添加了另一個方法,我的UIViewController在viewDidAppear中調用。
然後我意識到也許我可以在沒有子類的情況下在UIViewController的viewDidLoad或viewDidAppear中構造按鈕,但我再次注意到按鈕上的邊界還沒有可用。
因此,這是最好的:
- 子類和繪圖一切
- 子類和建築由其他UIViews
- 在外部視圖
- 一些其他方法構建按鈕的組合物.. 。?
此外,在父母使用自動佈局時,似乎框架中的所有內容都會反對手工佈置子視圖,所以我認爲必須有更好的方法。
感謝您的回覆。我遵循你的指示,但我無法調用[ParentView addSubview:...],因爲我正在使用故事板佈局父視圖。所以我試着把你的建議和這個結合起來:https://blog.compeople.eu/apps/?p=142它讓我非常滿意,除了現在我的加載的xib沒有正確地替換視圖。 – fixedpoint 2013-04-11 19:36:05