2014-10-17 5 views
0

У меня есть несколько видов контейнеров, встроенных в один контроллер навигации. Теперь я пытаюсь использовать UIPopoverController, чтобы отобразить представление. Это представление уже было представлено пользователю раньше - оно было в виде контейнера, встроенного в навигационный контроллер. Если я пытаюсь представить вид снова в пирог яНевозможно представить контроллер представления в UIPopoverController

Применение пытались представить модально активный контроллер

Но вид не активен. Это только где-то в стеке контроллера навигации. Означает ли это, что вы можете представить каждое представление только один раз?

Edit:

Структура этой задачи выглядит следующим образом:

View Controller> Контейнер A (VC1, VC2, VC3)> Контейнер B (VC2, VC4)

Теперь в Container B VC3 должен быть представлен как всплывающее окно. Событие возникает на VC2 в контейнере B (событие C#). Контейнер B должен представить всплывающее окно -> Приложение аварийно завершает работу, и я получаю вышеуказанное сообщение об ошибке.

Теперь я попытался представить всплывающее окно непосредственно из VC2. Кажется, это работает. Возможно, это проблема, потому что я повторно использовал экземпляр popover из контейнера B. Я проверю это.

+0

Является ли навигационным контроллером соответствующий держатель данных в этом случае? Похоже, что вы не занимаетесь навигационными задачами с контроллерами представлений. –

+0

Я перемещаюсь из одного контейнера в другой. Это работает до сих пор, кроме «UIPopoverController». – testing

+1

А я понимаю. Возможно ли, чтобы VC имел свой собственный экземпляр представления, поэтому вам не нужно его повторно использовать? –

ответ

0

Теперь я создал новый экземпляр UIPopoverController в контейнере B, где событие выловлено. Он работает так, как ожидалось, и больше не разбивается.

По-прежнему не знаю, почему я не могу повторно использовать popover с contentViewController. Или это потому, что я использую presentPopoverFromRect и в другой раз presentPopoverFromBarButtonItem?

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