2016-09-14 3 views
0

У меня есть панель навигации, которая представлена ​​модально от другого контроллера представления, так что задний элемент не показан,Как установить деталь назад навигационную панель в

Мне нужно пересечь раствориться на второй контроллер представления, и положить навигационная панель на нем, не помещая его на первый контроллер представления, на панели навигации второго контроллера просмотра кнопка возврата должна выглядеть точно так же, как кнопка назад системы.

ответ

0

Обратный элемент появится автоматически при нажатии на ViewController. Когда вы представляете его по-разному, вы делаете это за пределами начального навигационного контроллера, поэтому его навигацию можно скрыть новым.

Издание с предлагаемым решением: Вставьте первый UIViewController в UINavigationViewController и нажмите второй вместо того, чтобы представлять его по-разному.

+0

Это, кажется, не является решением, может быть, вы просто должны прокомментировать? –

+0

Теперь это решение. Кнопка «Назад» - это элемент управления, принадлежащий навигационному контроллеру, если вы не используете навигацию, вам придется снова создать кнопку «Назад». – tonik12

+0

Да, это решение, но мне нужно, чтобы крест распустил анимацию, представив модально –

0

Если у вас есть панель навигации и вам нужны пользовательские кнопки Назад, вы можете добавить его, как это:

let button = UIBarButtonItem(title: "Back Title", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(someMethod)) 
self.navigationItem.leftBarButtonItem = button 

И в вашем селекторе вы можете отклонить ваш текущий ViewController или вызвать какой-либо другой метод обратного

EDIT

Если вам нужны пользовательские анимации с стандартного стиля толчок перехода можно сделать следующий:

Например создать ViewController в раскадровке с SecondViewController ID

На ваш метод действия перехода сделать некоторые, как это:

func showSecondViewController() { 
    guard navigationController != nil else { 
     return 
    } 
    guard let secondViewController = storyboard?.instantiateViewControllerWithIdentifier("SecondViewController") else { 
     return 
    } 
    navigationController!.pushViewController(secondViewController, animated: false) 
    UIView.transitionWithView(navigationController!.view, duration: 1, options: .TransitionCrossDissolve, animations: nil, completion: nil) 
} 
+0

Да, это добавляет кнопку, но это не похоже на стиль '' Back'', выглядит странно –

+0

@BrightFuture Show modally не подразумевает наличие стандартной кнопки возврата. В этом случае вам нужна кнопка, которая просто закрывает окно. –

+0

Мне нужно, чтобы крест распускал анимацию, показывая модально, если я использую push, могу ли я изменить анимацию по умолчанию? –

Смежные вопросы