class CustomSegue: UIStoryboardSegue {
override init(identifier: String?, source: UIViewController, destination: UIViewController) {
super.init(identifier: identifier, source: source, destination: destination)
}
override func perform() {
self.source.navigationController?.pushViewController(self.destination, animated: true)
}
}
在上面的代码中,我重写了segue的行为。
它应该仅在{strong>显示(例如:推送)的类型时使用pushViewController
,对于其他类型,它应该执行它可以执行的默认行为。
如何在子类Kind
方法中找到segue的perform()
?
即
override func perform() {
if kind==Push {
self.source.navigationController?.pushViewController(self.destination, animated: true)
} else {
super.perform()
}
}