我正试图强制导航栏在模态视图上显示。根据{{3}},我试图通过在特殊的导航控制器nextScreenViewController
中嵌入模态视图nextScreenNavigationController
来实现这一点。
但是,我使用委托模式在初始viewController和nextScreenViewController
之间传递数据。在嵌入navigationController之前,我正在使用以下代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "goToNextScreen" {
let nextScreenDelegate = segue.destinationViewController as! nextScreenViewController
nextScreenDelegate.delegate = self
}
}
this answer建议,为了考虑nextScreenNavigationController
,我应该使用像...这样的代码。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "goToNextScreen" {
let navigation: UINavigationController = segue.destinationViewController as! nextScreenNavigationController
var nextScreenDelegate = nextScreenViewController.init()
nextScreenDelegate = navigation.viewControllers[0] as! nextScreenViewController
nextScreenDelegate.delegate = self
}
}
然而,在没有崩溃的情况下失败 - 没有数据传递。
如果您想要更多我的委托模式,请发表评论......我只是想确定它不是一个基本的实现问题。或者,有没有更好的方法在模态视图上显示导航栏?
答案 0 :(得分:0)
对不起 - 没关系!我意识到上面的代码是有效的,我的问题是我没有在storyboard中为navigationController分配类nextScreenNavigationController
。