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. Он должен использовать pushViewController
только в том случае, если вид Показать (например: Push) для другого типа он должен выполнять поведение по умолчанию, которое может.UIStoryboardSegue Подкласс идентифицирует вид segue
Как найти Kind
of segue в подклассе perform()
метод?
т.е.
override func perform() {
if kind==Push {
self.source.navigationController?.pushViewController(self.destination, animated: true)
} else {
super.perform()
}
}
Но в коде perform(), как мы узнаем его поведение. Я хочу изменить его, только если его Show (например, Push) – andyPaul
Вы не можете получить вид от выполнения. Вам нужно создать разный segue в раскадровке, а не в коде. Один segue, как пользовательский segue, который имеет push-переход, а другой - по умолчанию. – Manoj