Создать свой бар элемент навигации в 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()
Спасибо, можете ли вы предложить то же самое в объективе c? – rafavinu