Это текущая ситуация:Поврежденной панели навигации после навигации
UITabBarController
UINavigationController
UIPageViewController
Some UIViewControllers (the actual content)
Так UIPageViewController содержат некоторые UIViewControllers, которые все содержат в UITableView.
Когда я нажимаю один из строк в UITableView UIViewController вызывает метод didSelect. Метод выглядит следующим образом:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
let activity = self.activities[indexPath.row - 1]
self.delegate?.dayTableViewSelectedActivity(activity, sender: self)
}
Тогда UIPageViewController реализован протокол, поэтому метод делегата вызывается. Метод выглядит следующим образом:
func dayTableViewSelectedActivity(activity: Activity, sender: DayTableViewController) {
self.performSegueWithIdentifier("openDetails", sender: activity)
}
Приложение затем осуществляет навигацию (толкает) к DetailViewController. Когда я откидываюсь назад (поведение по умолчанию iOS), DetailViewController мгновенно появляется в UIPageViewController без анимации. Тогда моя панель навигации сломана и содержит кнопку возврата, которая там не принадлежит, потому что я не могу вернуться назад.
Когда я нажимаю ячейку снова консоль дает мне nested push animation can result in corrupted navigation bar
сообщений. Каждое действие, я беру оттуда дает мне больше ошибок консоли, такие как:
nested pop animation can result in corrupted navigation bar
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Эта ошибка расстраивает меня в течение нескольких часов, и я не могу понять, что я делаю неправильно. Нет двойных переходов. Я проверил его несколько раз. Надеюсь, вы, ребята, можете мне помочь.
Спасибо! Я постараюсь это, когда я вернусь домой. Я буду держать вас в курсе. –
к сожалению, это не сработало. В учебнике они делают разворачивать программно. Но я t нужно поведение по умолчанию iOS (что, когда вы прокручиваете прямо в UINavigationController, вы переходите к предыдущему контроллеру представления) ... Поэтому, когда я прокручиваю прямо в моем DetailViewController, я хочу вернуться в UIPageViewController. –