解决多个模态视图控制器的问题

She*_*lam 14 iphone cocoa cocoa-touch objective-c iphone-sdk-3.0

我无法正常显示模态视图控制器.我有一个父视图控制器,它是模态视图A的委托.在模态视图中AI呈现模态视图B,并具有委托dimiss模态视图A.

当模态视图B出现时,它似乎显示但屏幕变暗,并且UI锁定,但应用程序不会崩溃.我将动画设置设置为NO,我仍然遇到同样的问题.

活动顺序:

  1. 父视图显示模态视图A.
  2. 模态视图A在模态视图中显示模态视图B控制器
  3. 父视图通过委派解除模态视图中的模态视图A.
  4. 这是我的UI挂起的地方,我可以看到模态视图B,但无法点击它,或做任何事情

小智 19

你可以用它

[[[self presentingViewController] presentingViewController]  dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)

  • 解雇时有没有办法让中间视图控制器不显示?例如,A呈现B,呈现C.来自C,self.presentingViewController.presentingViewController.dismissViewController(),但B在转换期间闪烁.我宁愿只让C滑下来,A出现.编辑:看起来像iOS 8以来的一个错误:( (4认同)

She*_*lam 4

通过让我的parentViewController充当委托来解决。这是我的订单:

[parentView presentViewController:modalViewControllerA animated:YES]
[parentView dismissModalViewControllerAnimated:YES]
[parentView presentViewController:modalViewControllerB animated:YES]
//Modal B dismisses himself
Run Code Online (Sandbox Code Playgroud)

在我的委托方法中,我需要确保在呈现模态 B 之前关闭模态 A