我有一个导航控制器推入视野的MyViewControllerA。 MyViewControllerA显示MyModalViewController。 MyModalViewController有一个按钮,按下按钮会将MyViewControllerB推到MyViewControllerA的顶部。我创建了一个委托,因此MyModalViewController可以告诉MyViewControllerA一个按钮是按下的,所以MyViewControllerA可以将MyViewControllerB放在它上面。
是否有一种从MyModalViewController过渡到MyViewControllerB的简洁方法。我在推送MyViewControllerB后试图解除模态视图,但是当你正常使用导航控制器向下钻取时,它并没有给我那个平滑的动画。
答案 0 :(得分:0)
正如你所说,你有代表可以告诉ControllerA
关于按下按钮。现在你需要做的是在ControllerA
中有一个标志(我们将用它来告诉A关于按下按钮):
viewDidLoad
中)。在A的pushController
方法中为B编写viewWillAppear
代码并进行检查:
if(flag)
push B.
modalViewController
中的按钮时,请设置此标记并将其关闭。viewWillAppear
方法将被调用,如果设置了标志,它将推送B. 如果动画仍不流畅,请使用viewDidAppear
方法而不是viewWillAppear
。
感谢。