Могу ли я вызвать переход из UIBarButtonItem? - PullRequest
3 голосов
/ 23 ноября 2011

У меня есть панель инструментов в одной из сцен моей раскадровки. Панель инструментов содержит один UIBarButtonItem. Я хочу Touch Down на кнопке, чтобы вызвать переход к новому UIViewController. Если я перетащу на viewController и выберу «Modal» во всплывающем окне, переход не будет запущен. «prepareForSegue» никогда не вызывается. На панели «Служебные программы» в разделе «Ссылки на сегменты раскадровки» рядом с ее именем рядом с названием восклицательного знака указано следующее:

'null' не является допустимым путем к ключу включения контроллера.

Если я перетаскиваю из кнопки и выбираю «Push» во всплывающем окне, я не получаю это предупреждение, однако снова segue не работает, и prepareForSegue никогда не вызывается.

Если я подключу любой тип перехода к кнопке UIB (за пределами панели инструментов), переход будет работать нормально в обоих случаях. Поэтому мне кажется, что сегменты не работают, когда запускаются из элементов панели инструментов.

Кто-нибудь может подтвердить это или указать, что я делаю неправильно?

Ответы [ 4 ]

20 голосов
/ 10 декабря 2011

Вы можете вызвать segue самостоятельно, используя

[self performSegueWithIdentifier: @"SegueToScene1" sender: self];
4 голосов
/ 11 июня 2012

Я думаю, вы можете использовать UIButton вместо UIBarButtonItem объекта. У меня просто была та же проблема, но я изначально перетащил стандартную кнопку на панель инструментов. Когда я изменил его, сценарий segue работал как положено.

1 голос
/ 17 января 2012

Я установил модальный переход, запускаемый из UIBarButtonItem внутри UIToolbar в примере проекта, он отлично работает.

0 голосов
/ 01 декабря 2011

это работа с UIBarButtonItem, используя push. Вы тестировали это без prepareForSegue, я имею в виду, просто связать их в .storybar? Было бы перейти к связанному ViewController, событие без строки кода

...