在我的iOS项目中,我使用两种UIStoryboardSegue,它在导航控制器内或作为模态视图呈现视图。我在Interface Builder中将kind属性设置为:
现在我希望能够以编程方式识别segue的类型,以便自定义ViewController的外观。像这样:
class ViewController : UIViewController {
var isModal : Bool = false
...
}
class OtherViewController : ViewController {
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.destinationViewController is ViewController {
let vc = segue.destinationViewController as! ViewController
vc.isModal = TODO
}
}
}
我希望有一处房产,但我无法找到。我也希望segue课程有所不同,但我也找不到足够的文档。
我最初偶然发现这个问题试图使用isModal来解除ViewController与弹出ViewController之间的交替。我注意到现在似乎有一个更好的选择,即UnwindSegue。但是,我仍然需要标志才能自定义外观..
由于
答案 0 :(得分:0)
也许我完全错了,但你不能使用segue的标识符吗?
例如,使用Modal<Name>
命名所有模态视图控制器。然后检查
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if segue.identifier.hasPrefix("Modal") {
let vc = segue.destinationViewController as! ViewController
vc.isModal = TODO
}
}