UIPopoverPresentationController
Наследование
-
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 UIPopoverPresentationController
объект управляет дисплеем содержания в легкой сдобе. Со времени представлена легкая сдоба до времени это отклонено, UIKit использует экземпляр этого класса для управления поведением представления. Вы используете экземпляры этого класса как есть для конфигурирования аспектов появления легкой сдобы и поведения для контроллеров представления, стиль презентации которых установлен в UIModalPresentationPopover
.
В почти всех случаях Вы используете этот класс как есть и не создаете экземпляры его непосредственно. UIKit создает экземпляр этого класса автоматически при представлении контроллера представления с помощью UIModalPresentationPopover
стиль. Можно получить тот экземпляр от представленного контроллера представления popoverPresentationController
свойство и использование это для конфигурирования поведения легкой сдобы.
Если Вы не хотите конфигурировать легкую сдобу сразу после представления контроллера представления, можно использовать объект делегата сконфигурировать легкую сдобу вместо этого. Во время процесса представления контроллер представления легкой сдобы вызывает различные методы своего делегата — объект, соответствующий UIPopoverPresentationControllerDelegate
протокол — чтобы попросить информацию и сообщить ему о состоянии представления. Ваш объект делегата может использовать те методы, чтобы сконфигурировать легкую сдобу и скорректировать ее поведение по мере необходимости. Для получения информации о том, как реализовать делегата к контроллеру представления легкой сдобы, посмотрите Ссылку на протокол UIPopoverPresentationControllerDelegate.
Конфигурирование легкой сдобы для дисплея
Для отображения легкой сдобы установите стиль презентации контроллера представления к UIModalPresentationPopover
и вызовите presentViewController:animated:completion:
метод. Предоставлять контроллеру представления со стилем легкой сдобы создает контроллер представления легкой сдобы для управления процессом представления. Можно получить тот контроллер представления от представленного контроллера представления popoverPresentationController
свойство и использование объект сконфигурировать поведение легкой сдобы.
Перечисление 1 показывает пример того, как Вы представляете контроллер представления с помощью стиля легкой сдобы. После установки стиля и вызова presentViewController:animated:completion:
метод, можно выбрать контроллер представления и изменить его свойства. При конфигурировании легкой сдобы всегда указывайте или элемент кнопки панели или исходное представление и прямоугольник как точка привязки для легкой сдобы. Можно сконфигурировать другие свойства также для размещения представленного содержания.
// Present the view controller using the popover style.
myPopoverViewController.modalPresentationStyle = UIModalPresentationPopover;
[self presentViewController:myPopoverViewController animated: YES completion: nil];
// Get the popover presentation controller and configure it.
UIPopoverPresentationController *presentationController =
[myPopoverViewController popoverPresentationController];
presentationController.permittedArrowDirections =
UIPopoverArrowDirectionLeft | UIPopoverArrowDirectionRight;
presentationController.sourceView = myView;
presentationController.sourceRect = sourceRect;
Конфигурирование контроллера представления легкой сдобы после вызова presentViewController:animated:completion:
мог бы казаться парадоксальным, но UIKit не создает контроллер представления после инициирования представления. Кроме того, UIKit должен ожидать до следующего цикла обновления для отображения нового содержания на экране так или иначе. Та задержка дает Вам время для конфигурирования контроллера представления для легкой сдобы.
-
popoverLayoutMargins
СвойствоПоля, определяющие часть экрана, на котором допустимо вывести на экран легкую сдобу.
Объявление
Swift
var popoverLayoutMargins: UIEdgeInsets
Objective C
@property(nonatomic, readwrite) UIEdgeInsets popoverLayoutMargins
Обсуждение
Граничные значения вставки измеряются в точках от краев экрана относительно текущей ориентации устройства. Таким образом вставка главного края всегда отражает главный край устройства с точки зрения пользователя, изменяющейся в зависимости от того, содержит ли пользователь устройство в портретной или альбомной ориентации. Помните, что ориентация устройства является не всегда тем же как интерфейсной ориентацией — т.е. ориентацией Вашего окна и представлениями. Ориентации окна обычно фиксируются и просматривают ориентации, управляются контроллером представления владения. Кроме того, если опция блокировки вращения занята, интерфейс не изменяет ориентацию вообще, даже когда изменяется ориентация устройства.
Граничные вставки по умолчанию являются 10 точками вдоль каждого края. Контроллер представления легкой сдобы автоматически вычитает строку состояния из жизнеспособной области при определении, где вывести на экран легкую сдобу, таким образом, Вам не нужна к фактору высота строки состояния в Ваши вставки.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
backgroundColor
СвойствоЦвет представления фона легкой сдобы.
Объявление
Swift
@NSCopying var backgroundColor: UIColor!
Objective C
@property(nonatomic, copy) UIColor *backgroundColor
Обсуждение
Используйте это свойство для настройки цвета фона легкой сдобы. Изменение значения этого свойства, в то время как легкая сдоба является видимыми триггерами анимированное изменение в новом цвете. Значение по умолчанию этого свойства
nil
, который соответствует цвету фона по умолчанию.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
passthroughViews
СвойствоМассив представлений, что пользователь может взаимодействовать с тем, в то время как легкая сдоба видима.
Объявление
Swift
var passthroughViews: [AnyObject]!
Objective C
@property(nonatomic, copy) NSArray *passthroughViews
Обсуждение
Когда легкая сдоба активна, взаимодействия с другими представлениями обычно отключаются, пока легкая сдоба не отклонена. Присвоение массива
UIView
объекты к этому свойству заставляют UIKit продолжать диспетчеризировать сенсорное событие представлениям, которые Вы указали.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
popoverBackgroundViewClass
СвойствоКласс для использования для отображения фонового содержания легкой сдобы.
Объявление
Swift
var popoverBackgroundViewClass: AnyObject.Type?
Objective C
@property(nonatomic, readwrite, retain) Class< UIPopoverBackgroundViewMethods > popoverBackgroundViewClass
Обсуждение
Значение по умолчанию этого свойства
nil
, который заставляет контроллер представления использовать появление легкой сдобы по умолчанию. Установка этого свойства к значению кромеnil
заставляет контроллер представления использовать указанный класс для рисования фонового содержания легкой сдобы. Класс, который Вы указываете, должен быть подклассомUIPopoverBackgroundView
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
barButtonItem
СвойствоЭлемент кнопки панели, на котором можно привязать легкую сдобу.
Объявление
Swift
var barButtonItem: UIBarButtonItem!
Objective C
@property(nonatomic, retain) UIBarButtonItem *barButtonItem
Обсуждение
Присвойте значение этому свойству для привязки легкой сдобы к указанному элементу кнопки панели. Когда представлено, стрелка легкой сдобы показывает на указанный элемент. Также можно указать расположение привязки для легкой сдобы с помощью
sourceView
иsourceRect
свойства.До представления контроллер представления добавляет все одноуровневые элементы кнопки панели указанного элемента (но не самого элемента) к списку легкой сдобы представлений передачи. UIKit автоматически прерывает касания в указанном элементе и использует их для отклонения легкой сдобы. Если Вы хотите, чтобы касания в других элементах кнопки панели отклонили легкую сдобу, необходимо добавить код к обработчикам действия тех элементов, чтобы сделать так себя.
Значение по умолчанию этого свойства
nil
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
sourceView
СвойствоПредставление, содержащее прямоугольник привязки для легкой сдобы.
Объявление
Swift
var sourceView: UIView!
Objective C
@property(nonatomic, retain) UIView *sourceView
Обсуждение
Используйте это свойство в сочетании с
sourceRect
свойство для указания расположения привязки для легкой сдобы. Также можно указать расположение привязки для легкой сдобы с помощьюbarButtonItem
свойство.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
sourceRect
СвойствоПрямоугольник в указанном представлении, в котором можно привязать легкую сдобу.
Обсуждение
Используйте это свойство в сочетании с
sourceView
свойство для указания расположения привязки для легкой сдобы. Также можно указать расположение привязки для легкой сдобы с помощьюbarButtonItem
свойство.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
delegate
СвойствоДелегат, обрабатывающий связанные с легкой сдобой сообщения.
Объявление
Swift
unowned(unsafe) var delegate: UIPopoverPresentationControllerDelegate?
Objective C
@property(nonatomic, assign) id< UIPopoverPresentationControllerDelegate > delegate
Обсуждение
В различных точках во время процесса представления контроллер представления легкой сдобы вызывает методы своего делегата, чтобы дать тому объекту шанс ответить. Вы могли бы использовать делегата, чтобы далее сконфигурировать контроллер представления легкой сдобы или реагировать на инициируемые пользователями действия, касающиеся легкой сдобы. Например, сразу до отображения легкой сдобы, контроллер представления вызывает
prepareForPopoverPresentation:
метод объекта делегата.Для получения дополнительной информации о методах, которые можно реализовать в объекте делегата, посмотрите Ссылку на протокол UIPopoverPresentationControllerDelegate.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
permittedArrowDirections
СвойствоНаправления стрелки, которые Вы предпочитаете для легкой сдобы.
Объявление
Swift
var permittedArrowDirections: UIPopoverArrowDirection
Objective C
@property(nonatomic, assign) UIPopoverArrowDirection permittedArrowDirections
Обсуждение
До отображения легкой сдобы, набор это свойство к направлениям стрелки, которые Вы предпочитаете для своей легкой сдобы. Во время представления контроллер представления легкой сдобы пытается уважать Ваши предпочтения, но может использовать различное направление стрелки, если это не может иначе разметить легкую сдобу. Фактическое направление стрелки в использовании легкой сдобой сохранено в
arrowDirection
свойство.Значение по умолчанию этого свойства
UIPopoverArrowDirectionAny
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
arrowDirection
СвойствоНаправление стрелки в использовании легкой сдобой. (только для чтения)
Объявление
Swift
var arrowDirection: UIPopoverArrowDirection { get }
Objective C
@property(nonatomic, readonly) UIPopoverArrowDirection arrowDirection
Обсуждение
Когда легкая сдоба является экранной, это свойство отражает фактическое направление стрелки. Прежде и после представления, значение этого свойства
UIPopoverArrowDirectionUnknown
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.