如果存在某些條件,我想在啓動時首先提出一個模態視圖控制器。我使用下面的代碼:如何在啓動時呈現ModalViewController?
[self presentModalViewController:vc animated:NO];
這個代碼顯示了從viewDidAppear模態視圖控制器,但是,它不會從viewWillAppear中或viewDidLoad中工作。將代碼放入viewDidAppear的問題是,它在加載模態視圖之前閃爍父視圖。
如果存在某些條件,我想在啓動時首先提出一個模態視圖控制器。我使用下面的代碼:如何在啓動時呈現ModalViewController?
[self presentModalViewController:vc animated:NO];
這個代碼顯示了從viewDidAppear模態視圖控制器,但是,它不會從viewWillAppear中或viewDidLoad中工作。將代碼放入viewDidAppear的問題是,它在加載模態視圖之前閃爍父視圖。
我只是在viewDidLoad中創建一個輕微的延遲:
[self performSelector:@selector(presentVC) withObject:nil afterDelay:1.0];
而且在這個方法
-(void) presentVC{
[self presentModalViewController:vc animated:NO];
}
添加延遲沒有幫助(我使用了延遲0)。在顯示所需的視圖之前,父視圖仍然顯示。 – JSWilson
我建議你這樣做,一旦應用程序啓動,但只有當你需要這樣做時一次。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (![defaults objectForKey:@"firstLaunch"]){
[self performSelector:@selector(yourModalView) withObject:nil afterDelay:0.2];
[defaults setObject:[NSDate date] forKey:@"firstLaunch"];
}
[[NSUserDefaults standardUserDefaults] synchronize];
如果您需要在每次啓動時都顯示該viewController的某些條件,請使用bdev代碼。
爲什麼不在初始啓動時使初始父視圖不可見/透明,以便它不會閃爍?當模型視圖被解除時,使其可見。 – Gruntcakes
我打算在初次啓動時使用默認圖像來覆蓋父視圖。但是,這似乎很狡猾。我希望解釋如何處理視圖,以及指向在啓動過程中調用的方法序列的指針。 – JSWilson