我想加載一些數據時,按下按鈕,並顯示一個「加載視圖」作爲我當前視圖加載時的子視圖。viewDidAppear子視圖
所以我想在子視圖出現之後纔開始加載。如果不是,我的UI會在沒有通知的情況下卡住(並且子視圖僅在加載完成後顯示)。
有沒有辦法使用類似viewDidAppear
的子視圖?
做好addSubview:
這樣之後的工作不工作:
- (void)doSomeWorkAndShowLoadingView
{
UIView *loadingView = [[[UIView alloc] initWithFrame:self.view.frame] autorelease];
loadingView.backgroundColor = [UIColor redColor];
[self.view addSubview:loadingView];
[self doSomeWork];
[loadingView removeFromSuperview];
}
- (void)doSomeWork
{
sleep(5);
}
(我不想做一個新的線程加載,因爲是公司CoreData我的工作,這不是線程安全的)。
謝謝!
不起作用。 'didMoveToSuperview'並不意味着子視圖確實出現,而只是它已經被添加到超級視圖。 如果我開始在'didMoveToSuperview'中加載,只有在加載數據後,子視圖纔會顯示。 – Jochen 2011-03-29 12:11:12
當你說「加載」時,你在做什麼?您是否正在等待網絡操作或執行某種計算? – 2011-03-29 12:22:08
我從CoreData數據庫加載數據。 – Jochen 2011-03-29 12:27:31