2013-04-07 73 views
1

當我嘗試以模態方式呈現第二個VC時,我收到了此警告。視圖控制器演示警告 - 同時呈現兩個

Warning: Attempt to present <RCTAddCardViewController: 0x1f5b21e0> on <IRSlidingSplitViewController: 0x1f538140> while a presentation is in progress! 

這裏是我如何做它:

UIViewController *pvc = [self presentingViewController]; 
[self dismissViewControllerAnimated:YES completion:^{ 
    RCTAddCardViewController *vc = [[RCTAddCardViewController alloc] initWithNibName:nil bundle:nil]; 
    [pvc presentViewController:vc animated:YES completion:nil]; 
}]; 

BC它被提出的第一個VC的解僱完成處理程序中我不應該得到的錯誤。任何人都知道一種方法讓這個消失?

回答

1

既然你呼籲self-dismissViewControllerAnimated:,如果你還self呈現視圖控制器,該視圖控制器將被解僱(所以pvc仍然會呈現self)。如果這不是問題,我想它只會在完成塊返回後計數完成。

一種解決方法是創建一個-myPresentViewController:方法,並利用使用

[self performSelector:@selector(presentViewController:) withObject:vc afterDelay:0.001] 

+0

內出於某種原因,當我嘗試'在調試PO pvc'我得到一個零 – 2013-04-08 00:42:45

+0

你如果你在'UIViewController * pvc = [self presentingViewController]'後面添加'NSLog(@「%@」,pvc)'', – baris 2013-04-08 00:59:31

+0

那個可以工作。有趣的是'po pvc'也開始不是零。 – 2013-04-08 03:01:09

相關問題