-1

Я пытаюсь добиться следующего. У меня есть пункт навигации правой панели, созданный программно. Теперь у меня есть новый контроллер вида B. При щелчке правой кнопкой мыши пункт меню мне нужно перейти к контроллеру B, который не подключен через сегмент. Я хочу, чтобы у B была панель навигации с кнопкой «Назад».Переключение с одного контроллера на другой - IoS

Может кто-нибудь, пожалуйста, руководство, как сделать то же самое и обязать

ответ

1

Создать свой бар элемент навигации в ViewControllerA так:

self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Next", style: .Plain, target: self, action: "nextViewController") 
} 

Создать функцию в ViewControllerA для обработки сенсорного события и перейти к ViewControllerB :

func nextViewController() { 
    println("go next") 

    //TODO: get an instance of your ViewControllerB here... 

    //navigate to it 
    self.navigationController!.pushViewController(viewControllerB, animated: true) 
} 

Как получить экземпляр вашего ViewControllerB зависит от того, как вы его определили. Если в вашем Main.storyboard, вы можете сделать это:

let viewControllerB = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("ViewControllerB") as? ViewControllerB 

Для этого необходимо установить раскадровку ID для ViewControllerB к «ViewControllerB». Сделайте это, выбрав его в своем раскадровке и перейдите к Identity inspector.

Если ViewControllerB определяется в СИБ с тем же именем, сделайте следующее:

let viewControllerB = ViewControllerB(nibName: "ViewControllerB", bundle: nil) 

Если ViewControllerB определяется полностью в коде, это должно работать, чтобы получить экземпляр этого:

let viewControllerB = ViewControllerB() 
+0

Спасибо, можете ли вы предложить то же самое в объективе c? – rafavinu

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