Как сделать переход из .XIB в другой View через Navigation Controller?
Ребята, если у меня есть в главном View встроенный виджет xib, в нем есть кнопка. Как заставить кнопку из виджета xib'а нажать кнопку на главном view? Мне нужно сделать по клику на кнопку в виджете переход на другой view controller через navigation controller, т.к. xib в другом сториборде, руками его не связать, как по-другому - хз, именно такого урока нигде не нашел.
Проблема, что кнопка работает в рамках своего xib'a нормально, работает print() и тд, однако мне же надо действие на нее повесить, действие = переход на другой экран.
Прям из виджета вообще непонятно как это сделать, но я могу сделать кнопку в основном view (поверх которого у меня появляется xib на пол экрана) и эту кнопку уже сделать сегвеем переходным куда-надо, но как тогда из .xib при клике на .xib'овскую кнопку кликнуть по кнопке на основном вью?
Я смог достучаться через делегат к главной вьхе из вью контроллера xib'a. И даже смог нажать кнопку, которая имеет в себе print() и переход. Новый прикол в том, что print() работает, а переход на другое окно нет. Хотя если эту кнопку нажимать из родного view главного, то она нажимается и переход делает.
Вот главный вью контроллер и кнопка там:
class ViewController: UIViewController, MKMapViewDelegate {
@IBAction func goNextPage(sender: AnyObject) {
performSegueWithIdentifier("segg", sender: self)
print ("goNextPage function started")
}
Жму ее - всё ок, пишет принт и переходит в другое окно (создал на сториборде)
Вот второстопенный xib'овский контроллер с кнопкой там:
@IBAction func itWorks(sender: AnyObject) {
let testController = ViewController()
testController.goNextPage(testController)
print("green button clicked")
}
Жму по ней, пишет: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver () has no segue with identifier 'segg''
Если убираю из первой функции переход, то ошибок нет, print ("goNextPage function started") срабатывает.
С какого фига он ищет сегу почему-то в другом месте - непонятно.
Какой iOS? В iOS 8 есть Storyboard Reference, который содержит в себе другой Storyboard, если я правильно понял суть задачи, то можно сделать segue в SR и все будет работать
Герман Полянский: там xib, а не сторибоард. От него не делается референц. Да все оказалось куда проще, я вообще отказался от xib, т.к. на свифт на него нет толковых мануалов и вообще зря повелся на чей-то код, вставлял его и тд. Я удалил xib и все что хотел сделал на отдельном view в моем сториборде, когда он не нужен - скрываю его, когда нужен - показываю, оттуда нормально кнопку transition можно протянуть куда угодно по сториборду и все ок переходит по окнам.