我試圖在我的應用程序中創建一個活動指示器。我正在使用故事板,並創建了一個推動另一個視圖的按鈕。iOS 5:addSubview的奇怪行爲
這是我如何打開另一種觀點認爲:
- (IBAction)openView {
NSLog(@"View is loading");
@try {
UINavigationController *nav = [storyboard instantiateViewControllerWithIdentifier:@"viewOpenSegue"];
[nav setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentModalViewController:nav animated:YES];
}
@catch (NSException *exception) {
NSLog(@"Error");
}
@finally {
NSLog(@"View loaded");
}
}
萬物好爲止。在視圖被打開之前我得到了日誌,並且在完全加載之後獲得了第二個日誌。
但是,當我想使用addSubview方法,我有一個奇怪的行爲。
NSArray *subviewArray2 = [[NSBundle mainBundle] loadNibNamed:@"View" owner:self options:nil];
loadingView = [subviewArray2 objectAtIndex:0];
這就是我如何加載我的觀點。我添加/刪除像這樣:
[self.view addSubview:loadingView];
//@try block
//@catch block
//@finally
{
[loadingView removeFromSuperview];
}
我期望視圖出現和消失在屏幕上。但是,在推出的視圖出現之前,似乎有1毫秒的時間,然後突然消失。
如果我在viewDidLoad下添加這種方式,它會出現。
我看過類似的問題,但他們沒有幫我。任何人都有線索?我應該嘗試別的嗎?
在此先感謝。
我很好奇 - 爲什麼您使用@嘗試/ @ catch塊? – SomaMan 2012-04-17 17:38:28
,因爲我認爲這是檢測活動邊界的最佳解決方案。它顯示加載(應該...),嘗試時,如果有任何最後,給出錯誤,刪除加載面板。 – kubilay 2012-04-17 17:42:29