let dialog: FriendCheckInDialogViewController = storyboard?.instantiateViewControllerWithIdentifier("FriendCheckInDialogViewController") as! FriendCheckInDialogViewController
dialog.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext
如果我用
self.navigationController?.presentViewController(dialog, animated: false, completion: nil)
然后透明度就起作用了。但是 popToRootViewControllerAnimated
没有,所以我不能返回。
如果我用
self.navigationController?.pushViewController(dialog, animated: false)
然后背景变成黑色而不是透明。但是 popToRootViewControllerAnimated
有效,所以我可以返回。
我该怎么办?
最佳答案
您似乎混合了不同的演示风格。
如果您使用 presentViewController
模态显示 View Controller ,则可以使用 dismissViewController
关闭它。在这种情况下,您可以在当前 View Controller 上以模态方式呈现 View Controller 。
如果您将 View Controller 推送到导航 Controller 堆栈上,那么您可以将该 View Controller 弹出,但推送的 View Controller 会替换当前的 View Controller ,因此您不能将其公开“在下面”。
关于ios - 透明 ViewController 与 presentViewController 一起工作,但不与 pushViewController 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38964004/