我的viewController
視圖中有一個UIImageView
對象,該對象預裝了一個輪子圖片。但是,輪子的旋轉取決於一天中的時間。所以當程序啓動時,我喜歡通過當前時間的正確旋轉來初始化輪子。我試圖在控制器的viewDidLoad
方法中進行旋轉。雖然這可行,但人們可以根據時間明顯地看到初始位置並切換到新位置。使用目標c以編程方式初始化故事板中的對象
我喜歡初始化是不可見的,也就是在視圖加載之前發生的初始化。我應該在哪裏做?
我的viewController
視圖中有一個UIImageView
對象,該對象預裝了一個輪子圖片。但是,輪子的旋轉取決於一天中的時間。所以當程序啓動時,我喜歡通過當前時間的正確旋轉來初始化輪子。我試圖在控制器的viewDidLoad
方法中進行旋轉。雖然這可行,但人們可以根據時間明顯地看到初始位置並切換到新位置。使用目標c以編程方式初始化故事板中的對象
我喜歡初始化是不可見的,也就是在視圖加載之前發生的初始化。我應該在哪裏做?
我喜歡初始化是不可見的,那就是在視圖加載之前發生的初始化 。我應該在哪裏做?
無論何時控制器的view
屬性被訪問,並且在該點調用-viewDidLoad
,視圖控制器的視圖都會被加載。把你的代碼設置在-viewDidLoad
的視圖是正確的事情。在加載之前,您無法初始化視圖,因爲它不存在直到它已加載,但您應該能夠在顯示之前對其進行設置。
如果您在-viewDidLoad
中沒有執行任何操作會導致輪子設置延遲到稍後的時間點,那麼您可以嘗試稍早加載視圖控制器的視圖。例如,您可以在您的視圖控制器中實現-prepareForSegue:sender:
,以便它訪問view
屬性,這會導致視圖被加載。
您是否只是在冗餘的代碼行中訪問該視圖以強制其加載?這可以接受嗎?目標VC中的用戶界面對象在prepareForSegue中無法使用,這讓我非常煩惱,我沒有意識到讓它們可用是很容易的! – jrturton 2011-12-30 08:45:58
你也可以創建一個繼承自UIView的自定義類,並在didMoveToWindow方法中設置一些自定義的inits(在你的情況下設置一個旋轉變換)。
車輪的初始化是否異步發生?添加一些代碼會很方便。 – thvanarkel 2011-12-29 18:23:13