我正在實現一個簡單的警報視圖,並在應用程序執行數據庫還原時向用戶顯示活動指示器。一切都很好,除非我看不到警報視圖,除非我註釋掉自動解僱行(這裏是最後一行)。除非我註釋掉自動解除,否則看不到我的alertView
好吧,數據庫的還原是相當快的,但我仍然期望看到它,即使是瞬間的,不是?在動畫期間,我可以看到屏幕變得更暗,但這就是全部。我也嘗試了一個for循環來延長時間,時間延長但仍然沒有警報視圖。
警告視圖被調用的方式沒有錯,因爲如果我評論解僱,我可以看到它......只有永遠。任何人有一個想法嗎?
在任何人說出來之前,我試着改變alertView的代表爲self
,發佈爲here,但它沒有幫助。
// First we prepare the activity indicator view to show progress indicator
UIActivityIndicatorView * activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[activityView setFrame:CGRectMake(121.0f, 50.0f, 37.0f, 37.0f)];
[activityView startAnimating];
// Then we put it in an alert view
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Loading" message:nil delegate:nil cancelButtonTitle:nil otherButtonTitles:nil];
[alertView addSubview:activityView];
[alertView show];
// Finally we operate the restore
[[SQLManager sharedSQL] restoreDatabase:[restoreDatabaseURL path]];
// And we can dismiss the alert view with the progress indicator
[alertView dismissWithClickedButtonIndex:0 animated:NO];
謝謝,我會盡快嘗試這個,只要我回家,讓你知道它是否有效。 –
所以,我試了一下,但沒有奏效,仍然沒有警覺。然後,我嘗試了其他方法,使用解除方法本身...並且工作正常!我可以看到延遲,如果使用:[alertView performSelector:@selector(dismissWithClickedButtonIndex:animated :) withObject:nil afterDelay:2.0];'。我想知道我是否可能不在主線上?必須做其他測試,但謝謝你的建議! –
@F np,並且你肯定在主線程中,否則UI調用將全部失敗。 – chown