這聽起來可能很傻,但閱讀...如何確保UIView已加載?
我想從由一個故事板實例化一個UIViewController
外設置UILabel
的文本。我需要確保設置視圖控制器的標籤屬性時,我設置其文本,否則標籤的文本將不會被設置(因爲它不會被加載尚未接收文本值)。
這是我目前的解決方案:
// Show pin entry
if (!self.pinViewController) {
// Load pin view controller
self.pinViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"pinScreen"];
self.pinViewController.delegate = self;
if (!self.pinViewController.view) {
// Wait for pin screen to fully load
}
[self.pinViewController setMessageText:@"Set a pin for this device"];
}
起初我有一個while
循環,循環,直到view
的價值不nil
,但似乎檢查視圖加載它(這裏提到的這個行爲: http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006926-CH3-SW37)
我試過用isViewLoaded
方法沒有成功。它只是永遠循環。
我已經將上述代碼作爲我當前的解決方案,但感覺不對。
有沒有更好的方法確保UIView
已加載?
,如果你做正確,'viewController.view'永遠不會'nil'因爲吸氣會如果視圖尚未創建,則創建該視圖 –