0

Я пытаюсь развернуть подкласс UIStoryboardSegue. Если rootViewController главного окна является подклассом UIViewController, все работает отлично.Разматывание подкласса UIStoryboardSegue в UINavigationController

Однако, если это подкласс UINavigationController, мой сеанс никогда не запускается при размотке.

Я создал пример приложения, чтобы продемонстрировать это, и поставить его на Github: https://github.com/simonmaddox/CustomUnwindSegue

ответ

4

После использования запроса DTS на это, Apple предложила следующее:

Короткий ответ в том, что, когда UINavigationController присутствует, SMXViewController не на самом деле родителем представленной SMXSecondViewController. В результате он лишь ограниченно участвует в процессе размотки.

...

Путь вокруг этой детали реализации, чтобы использовать свой собственный UINavigationController подкласс. Вы можете переопределить -segueForUnwindingToViewController: fromViewController: идентификатор: реализовать собственную логику или переслать сообщение родительского класса UINavigationController, если это для размотки Segue вы не заинтересованы в

Полное решение существует и на. DTS_Response: https://github.com/simonmaddox/CustomUnwindSegue/tree/DTS_Response

+0

+1 для обмена с нами – TonyMkenu

+2

Оказывается, это не JUST UINavigationController, но любой Container ViewController. Поэтому, если вы создаете скомпилированный интерфейс с помощью addChildViewController/removeFromParentViewController, тогда segueForUnwindingToViewController: fromViewController: идентификатор должен быть добавлен в контроллер состава (тот, который называется addChildViewController). Спасибо за ваше сообщение, что привело меня к этому дополнительному предостережению, которое было источник моей проблемы. –

0

Here полный пример с объяснением для вас.

+0

Спасибо, но это не относится к подклассу UIStoryboardSegue. Даже в источнике, связанном в нижней части этого блога, _-segueForUnwindingToViewController: fromViewController: идентификатор: _ никогда не вызывается. – simonmaddox

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