2015-06-03 2 views
0

Когда я нахожусь во втором контроллере представления, и я нажимаю кнопку «Назад», панель навигации исчезает жестоко. Я бы хотел, чтобы он отошел от экрана с помощью контроллера вида. И когда я нажимаю кнопку, чтобы перейти к 2-му контроллеру, панель навигации появляется до того, как на экране появится 2-й контроллер.Как добиться лучшего перехода между контроллерами для панели навигации?

  • Есть ли способ более плавного перехода на навигационную панель?
  • У вас есть пользовательский переход для панели навигации?
var previousStatusBarHiddenState: Bool = false 

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 

     // store navigationBar hidden state 
     if let navigationBar = navigationController?.navigationBar { 
     previousStatusBarHiddenState = navigationBar.hidden 
     navigationBar.hidden = true 
    } 

override func viewWillDisappear(animated: Bool) { 
    super.viewWillDisappear(animated) 

    // restore navigationBar hidden state 
    if let navigationBar = navigationController?.navigationBar { 
    navigationBar.hidden = previousStatusBarHiddenState 
    } 

ответ

2

Я нашел решение:

я использовал navigationController.setNavigationBarHidden (правда, анимированные: анимированные)

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 

     if let navigationController = navigationController { 
     previousStatusBarHiddenState = navigationController.navigationBar.hidden 
     navigationController.setNavigationBarHidden(true, animated: animated) 
    } 
} 
override func viewWillDisappear(animated: Bool) { 
    super.viewWillDisappear(animated) 

     // restore status bar 
     navigationController?.setNavigationBarHidden(previousStatusBarHiddenState, animated: animated) 
} 
Смежные вопросы