Нет кнопки «Назад» при переходе в Swift 2

Я только что перенес свой проект на Swift 2, и все отлично работает, за исключением того, что даже у самых простых переходов нет кнопки «Назад». Вот функция подготовки к переходу, которую я использую:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
    if segue.identifier == "showExercise" {
        if let nav = segue.destinationViewController as? UINavigationController {
            if let exercisesController = nav.topViewController as? ExercisesController {
                let cell = sender as! WorkoutCell
                if let workout = cell.name!.text {
                    exercisesController.exercises = Workouts[workout]!
                    exercisesController.navigationItem.title = workout
                }
            }
        }
    }
}

Раньше кнопка возврата к родительскому переходу использовалась для автоматического заполнения. Теперь все, что я получаю, это заголовок в дочерней навигации vc.


person cadlac    schedule 21.06.2015    source источник


Ответы (1)


Вы используете переход к показу или показу деталей? Похоже, вы используете модальный переход. Целевой контроллер представления для показа или перехода к шоу обычно является самим вторым контроллером представления, а не встроенным в другой UINavigationController.

Если ваш конечный контроллер представления для перехода шоу действительно является UINavigationController, настройки панели навигации нового навигационного контроллера могут переопределить старый (контроллер навигации исходного контроллера представления). Попробуйте не встраивать контроллер целевого представления в другой UINavigationController.

person chrisamanse    schedule 21.06.2015
comment
Казалось бы, дело в этом! Удаление segue.destinationViewController из собственного UINavigationController сработало. Ваше здоровье! FWIW я использовал Show (e.g. Push) - person cadlac; 21.06.2015
comment
@cadlac, не могли бы вы опубликовать код, который работал как ответ? Я не понимаю, как ваше исправление работало без нарушения другого кода. - person Ryan Pierce; 21.01.2017