У меня есть контроллер вида A
, который имеет 3 кнопки. Каждый раз, когда я нажимаю кнопку, я перехожу к другому контроллеру вида, Cx
, и когда я закончу, я возвращаюсь к контроллеру A
, и нажатая кнопка исчезает.
Когда больше нет кнопок для нажатияв контроллере представления A
, он переходит к просмотру контроллера B
.
. То, как я это делаю, заключается в просмотре контроллера A
:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// unwrap whereToNext if there is a value
if let identifier = whereToNext {
// set it back to nil so we don't go there more than once
whereToNext = nil
performSegue(withIdentifier: identifier, sender: self)
}
}
...
@IBAction func unwindToAcontroller(segue: UIStoryboardSegue) {
if segue.source is CxViewController {
// Remove button
currentButtonPressed?.superview?.removeFromSuperview()
buttonsCount -= 1
// When there are no more buttons, segue to somewhere else
if activitiesCount == 0 {
whereToNext = BviewControllerSegueName
}
}
}
Это работает следующим образомэто
A -> C1 -> A -> C2 -> A -> C3 -> A -> B
, но перед тем, как перейти к B
, оно проходит мимо пустого A
, а затем B
.
Есть ли способ сделать это, не показывая A
передсобираешься B
? Или нет другого способа сделать это, кроме как добавить B
ко всем Cx
?