我在編寫應用程序時未使用storyboard/xib創建視圖,也不確定是放置視圖設置代碼的最佳位置。我嘗試了幾種不同的方法,但我不確定將視圖設置代碼與控制器代碼分開的最佳方式。如何以編程方式創建iOS應用程序視圖
到目前爲止我曾嘗試的方法是:
把所有我的視圖設置代碼(創建和定位按鈕/標籤)等一個控制器
viewDidLoad
方法內。我很確定這是一種糟糕的做事方式,因爲你最終會在控制器中產生大量代碼。子類別
UIView
並在initWithFrame
方法內設置界面元素。然後我在視圖控制器視圖的頂部添加這個視圖。_customView = [[CustomView alloc] initWithFrame:self.view.frame]; _customView.customLabel.text = @"Foo"; [self.view addSubView:_customView]
或I分配控制器查看是我customView
。
_customView = [[CustomView alloc] initWithFrame:self.view.frame];
self.view = _customView;
_customView.customLabel.text = @"Foo";
雖然試圖保持這個問題儘可能非主觀,是否有編程方式創建iOS接口的最佳做法?這兩種方法都是保持視圖代碼和控制器代碼獨立且可重用的好方法嗎?
你需要重用該代碼嗎?如果是的話,子類化或創建一個UIView的類別擴展將是好的。在這種情況下,我更喜歡一個子類。 –
是的目的是讓代碼儘可能重複使用和清潔。我認爲子類化運作良好,我只是不確定使用子類化視圖的最佳方式。也許任何一種方式都很好。 – AFraser