Чтение документации об изменениях в UIViewControllers в iOS, я пытаюсь выяснить, как взаимодействие между представлением контроллеров модального представления работает внутри настраиваемого контроллера представления контейнера. В конечном итоге то, что я хотел бы сделать, это надежно пройти через цепочку представленных контроллеров представлений, даже если некоторые из этих контроллеров представлены контроллерами детского вида.Взаимодействие между представлением/представлением контроллеров просмотра и контроллерами родительского/дочернего просмотра, документально написанными в любом месте?
(Я работаю над библиотекой, а не с приложением, поэтому я не создаю иерархии, с которыми я буду взаимодействовать. Я просто пытаюсь обеспечить правильную работу моей библиотеки в разных типах иерархии.)
Итак, мой вопрос сводится к тому, что происходит, когда кто-то пытается представить контроллер вида с контроллера детского вида?
[childViewController presentViewController:viewController animated:YES completion:nil];
Поскольку представлен контроллер представления предназначен для «взять на себя» взаимодействие, пока не будет прекращен, то имело бы смысл мне, что запрос на презентацию будет вперед к родителю (или на самом деле, до цепи parentViewControllers пока он не достигнет контроллера вида без родительского контроля), а затем отобразится с этого контроллера. В противном случае кажется, что разработчик может делать такие вещи, как современные модальные контроллеры представлений от двух разных детей и т. Д., Которые мне кажутся проблематичными. (Например, какой представлен диспетчер представлений, например?).
Кроме того, если вышеизложенное было правдой, похоже, что это будет иметь некоторые последствия. Если родительский контроллер представления отображает представленный контроллер представления, что бы это получилось?
[childViewController presentedViewController];
Было бы nil
, потому что родитель показывает его? Или этот запрос может быть отправлен родителям, так что parentViewController
и любой из его childViewControllers
будут иметь одинаковые результаты?
В любом случае, у меня есть образец проекта, готовый пойти, чтобы запустить некоторые сценарии, но мне любопытно, есть ли какая-либо документация, которую я пропустил? Или если кто-то уже знает о том, как это взаимодействие происходит?
Твой и мой опыт тот же. Спасибо за ответ. –