Подтвердить что ты не робот

Что определяетПредставлениеКонтекст и предоставляетПредставлениеКонтекстTransitionStyle

ViewController имеет definesPresentationContext и providesPresentationContextTransitionStyle, но не имеют представления о том, как они работают. Я смотрел WWDC2011, но я все еще смущен этими двумя вещами.

Может ли кто-нибудь объяснить это, желательно простой демонстрацией?

4b9b3361

Ответ 1

Оба свойства используются для ограничения содержимого контроллера и предоставляют контроллерам дочерних представлений возможность переопределить контекст презентации или стиль презентации контроллера корневого окна окна. Для справки, вот соответствующая презентация WWDC, которая дает объяснение обоих:

https://developer.apple.com/videos/play/wwdc2011-102/

  • definesPresentationContext используется для определения того, какой контроллер просмотра определит размер представленного представления контроллера представления:

Когда представлен контроллер вида, iOS начинается с представления просмотреть контроллер и запросить его, если он хочет предоставить презентацию контекст. Если контроллер представления представления не предоставляет контекст, то iOS запрашивает контроллер родительского представления контроллера представления. iOS выполняет поиск по иерархии диспетчера представлений до просмотра контроллер обеспечивает контекст представления. Если нет контроллера просмотра предлагает предоставить контекст, контроллер корневого окна окна предоставляет контекст презентации.

Если контроллер представления возвращает YES, он предоставляет представление контекст. Часть окна, покрытая контроллером представления view определяет размер представленного представления контроллера представления. значение по умолчанию для этого свойства равно NO.

  • providesPresentationContextTransitionStyle используется для определения того, какой модальный стиль презентации должен использоваться при представлении контроллера детского представления:

Когда контроллеры представления определяют свойствоPresentationContext, это ДА, он может заменить стиль перехода представленного контроллера представления своим собственным. Когда значение этого свойства равно YES, вместо стиля, связанного с представленным контроллером представления, используется стиль перехода текущего контроллера. Когда значение этого свойства равно NO, UIKit использует стиль перехода представленного контроллера представления. Значением по умолчанию этого свойства является NO.

Для сложных контроллеров дочерних представлений, таких как UISearchController, рекомендуется установить этот набор в значение true, значение по умолчанию - false.