UIPresentationController
Наследование
-
NSObject
-
UIPresentationController
-
UIPopoverPresentationController
-
NSObject
-
UIPresentationController
-
UIPopoverPresentationController
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSObjectProtocol
-
Печатаемый
-
UIAppearanceContainer
-
UIContentContainer
-
UITraitEnvironment
-
NSObject
-
UIAppearanceContainer
-
UIContentContainer
-
UITraitEnvironment
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 8.0 и позже.
A UIPresentationController
объект обеспечивает усовершенствованное управление представлением и переходом для представленных контроллеров представления. Со времени представлен контроллер представления до времени это отклонено, UIKit использует контроллер представления для управления различными аспектами процесса представления для того контроллера представления. Контроллер представления может добавить свои собственные анимации поверх предоставленных объектами Animator, он может реагировать на изменения размера, и он может управлять другими аспектами того, как контроллер представления представлен на экране.
Когда Вы представляете контроллер представления с помощью presentViewController:animated:completion:
метод, UIKit всегда управляет процессом представления. Часть того процесса включает создание контроллера представления, который является подходящим для данного стиля презентации. Для встроенных стилей (такой как UIModalPresentationPageSheet
стиль), UIKit определяет и создает необходимый объект контроллера представления. Единственное время Ваше приложение может обеспечить свой собственный контроллер представления, для контроллера представления, стиль презентации которого установлен в UIModalPresentationCustom
. Для пользовательских стилей презентации у Вас есть опция обеспечения пользовательского контроллера представления или использования контроллера представления по умолчанию. Вы могли бы обеспечить пользовательский контроллер представления, когда Вы хотите добавить теневые представления представления или художественного оформления под представляемым контроллером представления или когда Вы хотите изменить поведение представления другими способами.
Когда Вы хотите, чтобы UIKit использовал Ваш пользовательский контроллер представления, необходимо продать тот объект к UIKit через переходящего делегата контроллера представления. В то время как представленный контроллер представления является экранным, UIKit поддерживает ссылку на Ваш объект контроллера представления. Для получения информации о переходящем делегате и объектах это обеспечивает, посмотрите Ссылку на протокол UIViewControllerTransitioningDelegate.
Процесс представления
Процесс представления, которым управляет контроллер представления, разделен на три фазы:
Фаза представления включает перемещение нового контроллера представления на экране через ряд анимаций перехода.
Фаза управления включает изменения среды ответа (такие как вращения устройства), в то время как новый контроллер представления является экранным.
Фаза увольнения включает перемещение нового контроллера представления от экрана через ряд анимаций перехода
Роль контроллера представления во время всех этих фаз должна управлять своими собственными представлениями и информацией состояния. Во время представления и фаз увольнения, контроллер представления добавляет свои пользовательские представления (если таковые имеются) к иерархии представления и создает любые надлежащие анимации перехода для тех представлений. Анимацией представления контроллера представления на экран все еще управляет объект Animator — т.е. объект, принимающий UIViewControllerAnimatedTransitioning
протокол. UIKit вызывает отдельные методы контроллера представления вначале и конец представления и фаз увольнения так, чтобы контроллер представления мог выполнить любую необходимую очистку.
Добавление пользовательских представлений к представлению
UIPresentationController
класс определяет определенные точки входа для управления иерархией представления при представлении контроллера представления. Когда контроллер представления собирается быть представленным, UIKit вызывает контроллер представления presentationTransitionWillBegin
метод. Можно использовать тот метод, чтобы добавить представления к иерархии представления и установить любые анимации, связанные с теми представлениями. В конце фазы представления UIKit вызывает presentationTransitionDidEnd:
метод, чтобы сообщить, что закончился переход.
Перечисление 1 показывает демонстрационную реализацию presentationTransitionWillBegin
и presentationTransitionDidEnd:
методы для пользовательского контроллера представления. В этом примере контроллер представления добавляет потускневшее представление как фон к представленному контроллеру представления. ( _dimmingView
переменная относится к пользовательскому UIView
возразите, что Вы обеспечили бы.) При представлении контроллера представления, presentationTransitionWillBegin
метод добавляет потускневшее представление сначала и встраивает содержание контроллера представления в том потускневшем представлении. Это тогда конфигурирует анимацию постепенного появления для выполнения рядом с другими анимациями перехода. Если пользователь прерывает процесс представления, возможно посредством интерактивного жеста, presentationTransitionDidEnd:
удаляет потускневшее представление. Если представление успешно выполняется, и потускневшее представление и представленный контроллер представления остаются экранными, пока они не отклонены.
- (void)presentationTransitionWillBegin {
// Add a custom dimming view behind the presented view controller's view
[[self containerView] addSubview:_dimmingView];
[_dimmingView addSubview:[[self presentedViewController] view]];
// Use the transition coordinator to set up the animations.
id <UIViewControllerTransitionCoordinatorContext> transitionCoordinator =
[[self presentingViewController] transitionCoordinator];
// Fade in the dimming view during the transition.
[_dimmingView setAlpha:0.0];
[transitionCoordinator animateAlongsideTransition:
^(id<UIViewControllerTransitionCoordinatorContext> context) {
[_dimmingView setAlpha:1.0];
} completion:nil];
}
- (void)presentationTransitionDidEnd:(BOOL)completed {
// Remove the dimming view if the presentation was aborted.
if (!completed) {
[_dimmingView removeFromSuperview];
}
}
При отклонении контроллера представления используйте dismissalTransitionWillBegin
метод, чтобы сконфигурировать любые анимации и использовать dismissalTransitionDidEnd:
метод для удаления любых пользовательских представлений из иерархии представления.
Адаптация для калибровки изменений класса
Изменения класса размера сигнализируют крупномасштабные изменения в том, как Ваше приложение должно представить свое содержание. Контроллеры представления управляют изменения класса размера путем корректировки стиля презентации (по мере необходимости) для их представленного контроллера представления. Корректировки внесены только, когда стиль текущей презентации не целесообразен в новой среде. Например, когда класс размера изменяется от горизонтально регулярного к горизонтально компактному, легкая сдоба становится полноэкранным представлением. Для стилей презентации, которые уже целесообразны в новой среде, такой как полноэкранный стиль презентации, не внесено никакое адаптивное изменение.
Когда класс размера представленного контроллера представления изменяется от горизонтально регулярного к горизонтально компактному, контроллер представления вызывает adaptivePresentationStyle
метод для определения, который новый стиль (если таковые имеются) для применения. Когда новый стиль необходим, контроллер представления инициирует переход к новому стилю, который может также связать замену объекта контроллера текущей презентации с новым объектом. Поскольку объект контроллера представления может измениться, всегда получайте контроллер представления от presentationController
свойство представленного контроллера представления.
Когда стиль презентации изменяется, контроллер представления также дает Вам возможность указать новый представленный контроллер представления. Прежде, чем инициировать переход, контроллер представления вызывает presentationController:viewControllerForAdaptivePresentationStyle:
метод его объекта делегата. При реализации того метода можно использовать его для внесения основных или незначительных корректировок в представленное содержание. Основная корректировка должна была бы заменить контроллер текущего представления полностью новым контроллером представления, который был специально разработан для данного класса размера. Незначительная корректировка должна была бы установить контроллер текущего представления в контроллере навигации для упрощения навигации в новом классе размера.
Реакция на изменения размера
Изменения размера представляют небольшие изменения ширине или высоте представления контроллера представления. Когда устройство вращается между портретными и альбомными ориентациями, Как правило, эти изменения происходят. Когда изменение размера происходит, UIKit вызывает контроллер представления viewWillTransitionToSize:withTransitionCoordinator:
метод. В пользовательском представлении используйте тот метод, чтобы изменить пользовательские представления контроллера Вашего представления или внести изменения в иерархию представления. Например, Вы могли бы выгрузить пользовательские представления художественного оформления с, соответствующими новому размеру лучше.
После уведомления Вашего контроллера представления нависшего изменения размера UIKit начинает нормальный процесс создания макета представления. Приложения, использующие автоматическое расположение, не должны должны быть делать что-либо, потому что автоматический механизм создания макета изменяет размеры представлений по мере необходимости. Но если пользовательский контроллер представления должен внести специфичные для расположения изменения, он может сделать так в containerViewWillLayoutSubviews
и containerViewDidLayoutSubviews
методы. Эти методы эквивалентны viewWillLayoutSubviews
и viewDidLayoutSubviews
методы UIViewController
класс и используемый таким же образом. UIKit вызывает их прежде и после того, как он вызовет layoutSubviews
методы представлений в иерархии представления.
Разделение на подклассы примечаний
Для пользовательских стилей презентации необходимо разделить на подклассы UIPresentationController
и переопределение, по крайней мере, некоторые его методы для реализации пользовательских способов поведения представления. Используйте свой пользовательский контроллер представления для настройки процесса представления.
Для пользовательских контроллеров представления необходимо вызвать initWithPresentedViewController:presentingViewController:
метод во время инициализации. Тот метод является определяемым инициализатором класса. UIKit использует его для выполнения требуемой инициализации для всех объектов контроллера представления.
Методы для переопределения
Если Ваш UIPresentationController
подклассы управляют одним или более пользовательскими представлениями, необходимо рассмотреть переопределение следующих методов:
Используйте
presentationTransitionWillBegin
метод, чтобы добавить Ваши пользовательские представления к иерархии представления и анимировать появление тех представлений. Если контроллер представления не может быть представлен, можно удалить те представления вpresentationTransitionDidEnd:
метод по мере необходимости.Используйте
dismissalTransitionWillBegin
метод для выполнения анимаций имел отношение к увольнению представленного контроллера представления. Не удаляйте свои пользовательские представления из иерархии представления доdismissalTransitionDidEnd:
метод вызывают.Используйте
viewWillTransitionToSize:withTransitionCoordinator:
метод для внесения любых связанных с размером изменений в пользовательские представления.
Подклассы могут переопределить другие методы этого класса по мере необходимости для обеспечения пользовательского поведения. Например, Вы могли бы переопределить shouldPresentInFullscreen
или frameOfPresentedViewInContainerView
методы и возвращают различные значения, чем предоставленные реализациями по умолчанию.
-
init (presentedViewController:presentingViewController:) - initWithPresentedViewController:presentingViewController:
Инициализирует и возвращает контроллер представления для перехода между указанными контроллерами представления
Объявление
Swift
init(presentedViewController
presentedViewController
: UIViewController!, presentingViewControllerpresentingViewController
: UIViewController!)Objective C
- (instancetype)initWithPresentedViewController:(UIViewController *)
presentedViewController
presentingViewController:(UIViewController *)presentingViewController
Параметры
presentedViewController
Контроллер представления, представляемый модально.
presentingViewController
Контроллер представления, содержание которого представляет начальную точку перехода.
Возвращаемое значение
Инициализированный контроллер представления возражает или
nil
если не мог бы быть инициализирован контроллер представления.Обсуждение
Этот метод является определяемым инициализатором для контроллера представления. Необходимо вызвать его от любых пользовательских методов инициализации, которые Вы определяете для своих подклассов контроллера представления.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
presentingViewController
СвойствоКонтроллер представления, который является начальной точкой для представления. (только для чтения)
Объявление
Swift
var presentingViewController: UIViewController { get }
Objective C
@property(nonatomic, retain, readonly) UIViewController *presentingViewController
Обсуждение
Объект в этом свойстве мог быть корневым контроллером представления окна, родительским контроллером представления, отмеченным как определение текущего контекста или последнего контроллера представления, представленного на экране. Этот контроллер представления может или может не быть тем же самым чей
presentViewController:animated:completion:
метод вызвали для инициирования процесса представления. Это может не также быть контроллер представления, используемый для инициализации контроллера представления.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
presentedViewController
СвойствоПредставляемый контроллер представления. (только для чтения)
Объявление
Swift
var presentedViewController: UIViewController { get }
Objective C
@property(nonatomic, retain, readonly) UIViewController *presentedViewController
Обсуждение
Этот объект соответствует тому, переданному как первый параметр
presentViewController:animated:completion:
метод. Успешное завершение процесса представления заставляет это содержание контроллера представления быть выведенным на экран на экране.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
containerView
СвойствоПредставление, в котором происходит представление. (только для чтения)
Объявление
Swift
var containerView: UIView! { get }
Objective C
@property(nonatomic, readonly) UIView *containerView
Обсуждение
UIKit устанавливает значение этого свойства вскоре после получения контроллера представления от Вашего переходящего делегата. Контейнерное представление всегда является наследователем и представления контроллера представления представления и представленного представления контроллера представления. При добавлении пользовательских представлений к представлению добавьте их к контейнерному представлению.
Если Ваш переход также использует пользовательские объекты Animator, те объекты могут получить это контейнерное представление от
containerView
свойство объекта контекста, предоставленного UIKit.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Представление, которое будет анимировано во время представления.
Возвращаемое значение
Представление для представления. Это представление должно быть или представленным представлением контроллера представления или наследователем того представления.
Обсуждение
Реализация по умолчанию этого метода возвращает представленное представление контроллера представления. Если Вы хотите анимировать другое представление, можно переопределить этот метод и возврат то представление. Представление, которое Вы указываете, должно или быть представленным представлением контроллера представления или должно быть одним из его наследователей.
Представление, возвращенное этим методом, также предоставлено для любых объектов Animator, реализовывая переход. Объекты Animator могут получить представление с помощью
viewForKey:
метод объекта контекста, предоставленного UIKit.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Прямоугольник кадра для присвоения к представленному представлению в конце анимаций.
Объявление
Swift
func frameOfPresentedViewInContainerView() -> CGRect
Objective C
- (CGRect)frameOfPresentedViewInContainerView
Возвращаемое значение
Прямоугольник представленного представления контроллера представления, указанного в системе координат контейнерного представления.
Обсуждение
Реализация по умолчанию этого метода возвращает прямоугольник кадра контейнерного представления, приводящего к представленному содержанию контроллера представления занятие всего места представления. Можно переопределить этот метод и возвратить различный прямоугольник кадра по мере необходимости. Например, Вы могли бы указать меньший прямоугольник кадра, если Вы хотите, чтобы часть базового содержания показала вокруг краев представленного представления.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
overrideTraitCollection
СвойствоИнтерфейсные черты для представленного контроллера представления, для использования вместо черт от среды iOS.
Объявление
Swift
@NSCopying var overrideTraitCollection: UITraitCollection?
Objective C
@property(nonatomic, copy) UITraitCollection *overrideTraitCollection
Обсуждение
Используйте это свойство для обеспечения интерфейсного набора черты для представленного контроллера представления, переопределяя одно или более значений в среде черты iOS.
Каждое значение Вы помещаете в
overrideTraitCollection
свойство переопределяет соответствующее значение в среде черты iOS. Например, следующий фрагмент кода показывает, как переопределить масштаб дисплея для представленного контроллера представления, оставив другие черты, поскольку им предоставлена система. Поместите такой код, обычно, в файле реализации для контроллера представления представления:presentedVC.presentationController.overrideTraitCollection = [UITraitCollection traitCollectionWithDisplayScale: 1.5];
[self presentViewController: presentedVC animated: NO completion: nil];
Контроллер представления представления не затронут при помощи этого свойства.
Значение по умолчанию
overrideTraitCollection
свойствоnil
, который приводит к полной среде черты iOS, используемой представленным контроллером представления.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Уведомляет контроллер представления, что расположение собирается начаться на представлениях контейнерного представления.
Объявление
Swift
func containerViewWillLayoutSubviews()
Objective C
- (void)containerViewWillLayoutSubviews
Обсуждение
UIKit вызывает этот метод прежде, чем скорректировать расположение представлений в контейнерном представлении. Используйте этот метод и
containerViewDidLayoutSubviews
метод для обновления любых пользовательских представлений, которыми управляет контроллер представления.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
Вызванный, чтобы уведомить контроллер представления, что расположение закончилось на представлениях контейнерного представления.
Объявление
Swift
func containerViewDidLayoutSubviews()
Objective C
- (void)containerViewDidLayoutSubviews
Обсуждение
UIKit вызывает этот метод после корректировки расположения представлений в контейнерном представлении. Используйте этот метод для внесения любых дополнительных изменений в иерархию представления.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
Уведомляет контроллер представления, что анимации представления собираются запуститься.
Объявление
Swift
func presentationTransitionWillBegin()
Objective C
- (void)presentationTransitionWillBegin
Обсуждение
Реализация по умолчанию этого метода ничего не делает. Подклассы могут переопределить его и использовать его, чтобы добавить пользовательские представления к иерархии представления и создать любые анимации, связанные с теми представлениями. Для создания анимаций получите координатора перехода представленного контроллера представления и используйте
animateAlongsideTransition:completion:
илиanimateAlongsideTransitionInView:animation:completion:
метод для постановки в очередь анимаций. Вызов тех методов гарантирует, что Ваши анимации выполняются в то же время, что и любые другие анимации перехода.Для примера того, как реализовать этот метод, посмотрите Добавляющие Пользовательские Представления к Представлению.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Уведомляет контроллер представления, что закончились анимации представления.
Объявление
Swift
func presentationTransitionDidEnd(_
completed
: Bool)Objective C
- (void)presentationTransitionDidEnd:(BOOL)
completed
Параметры
completed
YES
true
если анимации завершились, и представленный контроллер представления теперь видим илиNO
false
если анимации были отменены, и контроллер представления представления все еще видим.Обсуждение
Реализация по умолчанию этого метода ничего не делает. Подклассы могут переопределить этот метод и использовать его для выполнения любой требуемой очистки. Например, если завершенный параметр
NO
false
, Вы использовали бы этот метод для удаления любых пользовательских представлений из иерархии представления.Для примера того, как реализовать этот метод, посмотрите Добавляющие Пользовательские Представления к Представлению.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Уведомляет контроллер представления, что анимации увольнения собираются запуститься.
Объявление
Swift
func dismissalTransitionWillBegin()
Objective C
- (void)dismissalTransitionWillBegin
Обсуждение
Реализация по умолчанию этого метода ничего не делает. Подклассы могут переопределить этот метод и использовать его для конфигурирования любых анимаций, связанных с пользовательскими представлениями представления. Для создания анимаций получите координатора перехода представленного контроллера представления и используйте
animateAlongsideTransition:completion:
илиanimateAlongsideTransitionInView:animation:completion:
метод для выполнения анимаций. Вызов тех методов гарантирует, что Ваши анимации выполняются в то же время, что и любые другие анимации перехода.Вы не должны использовать этот метод для удаления представлений из иерархии представления. Удалите свои представления в
dismissalTransitionDidEnd:
метод вместо этого.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Уведомляет контроллер представления, что закончились анимации увольнения.
Объявление
Swift
func dismissalTransitionDidEnd(_
completed
: Bool)Objective C
- (void)dismissalTransitionDidEnd:(BOOL)
completed
Параметры
completed
YES
true
если анимации завершились, и представленный контроллер представления был отклонен илиNO
false
если анимации были отменены, и представленный контроллер представления все еще видим.Обсуждение
Реализация по умолчанию этого метода ничего не делает. Подклассы могут переопределить этот метод и использовать его для удаления любых пользовательских представлений, что контроллер представления добавил к иерархии представления. Удалите свои представления только если
completed
параметрYES
true
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
presentationStyle
СвойствоСтиль презентации представленного контроллера представления. (только для чтения)
Объявление
Swift
var presentationStyle: UIModalPresentationStyle { get }
Objective C
@property(nonatomic, readonly) UIModalPresentationStyle presentationStyle
Обсуждение
Это свойство установлено в стиль презентации представленного контроллера представления. Контроллер представления использует этот стиль для определения начального появления представленного содержания.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Когда представленный контроллер представления становится горизонтально компактным, возвращает стиль презентации для использования.
Объявление
Swift
func adaptivePresentationStyle() -> UIModalPresentationStyle
Objective C
- (UIModalPresentationStyle)adaptivePresentationStyle
Возвращаемое значение
Значение, предоставленное делегатом контроллера представления или
UIModalPresentationNone
если делегату не были предоставлены или не возвращает допустимое значение.Обсуждение
После того, как содержание, которым управляет контроллер представления, является экранным, этот метод возвращает стиль презентации для использования при переходе для горизонтально компактной среды. Реализация по умолчанию этого метода консультируется со своим объектом делегата и возвращает значение, предоставленное тем объектом
adaptivePresentationStyleForPresentationController:
метод. Некоторые предоставленные систему контроллеры представления могут также обеспечить новый стиль, больше подходящий для компактной среды. Например, контроллеры представления, управляющие легкой сдобой и листами формы, возвращаютсяUIModalPresentationFullScreen
значение.Этот метод только возвращает стиль презентации для использования в горизонтально компактной среде. Это не инициирует переход к новому стилю. Когда класс размера фактически изменяется, система инициирует переход к новому стилю. При переходе к новому стилю может измениться фактический объект контроллера представления. В результате не кэшируйте объект контроллера представления в своем коде. Всегда получайте его от своего контроллера представления
presentationController
свойство.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Булево значение, указывающее, покрывает ли представление весь экран.
Объявление
Swift
func shouldPresentInFullscreen() -> Bool
Objective C
- (BOOL)shouldPresentInFullscreen
Возвращаемое значение
YES
true
если представление покрывает экран илиNO
false
если это покрывает все или часть контроллера текущего представления только.Обсуждение
Реализация по умолчанию этого метода возвраты
YES
true
, указание, что представление покрывает весь экран. Можно переопределить этот метод и возвратNO
false
вынудить представление вывести на экран только в текущем контексте.При переопределении этого метода не вызывать
super
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
Булево значение, указывающее, должно ли представление контроллера представления представления быть удалено, когда заканчиваются анимации представления.
Объявление
Swift
func shouldRemovePresentersView() -> Bool
Objective C
- (BOOL)shouldRemovePresentersView
Возвращаемое значение
YES
true
если представление должно быть удалено илиNO
false
если это не должно.Обсуждение
Реализация по умолчанию этого метода возвраты
NO
false
. Если Вы реализуете представление, не покрывающее представление, просматривают содержание контроллера полностью, переопределяют этот метод и возвратNO
false
.При переопределении этого метода не вызывать
super
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
delegate
СвойствоОбъект делегата для управления адаптивными представлениями.
Объявление
Swift
unowned(unsafe) var delegate: UIAdaptivePresentationControllerDelegate?
Objective C
@property(nonatomic, assign) id< UIAdaptivePresentationControllerDelegate > delegate
Обсуждение
Когда размер приложения изменяется, работы контроллера представления с этим объектом делегата определить надлежащий ответ. Контроллеры представления представили использование
UIModalPresentationFormSheet
,UIModalPresentationPopover
, илиUIModalPresentationCustom
стиль должен изменить на использование один из полноэкранных стилей презентации вместо этого. Делегат может также решить изменить представленный контроллер представления полностью.Объект, который Вы присваиваете этому свойству, должен соответствовать
UIAdaptivePresentationControllerDelegate
протокол.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.