NSPopover
NSPopover класс обеспечивает средние значения для отображения дополнительного содержания, связанного с существующим содержанием на экране. Легкая сдоба расположена относительно существующего содержания.
Привязка используется для выражения отношения между этими двумя модулями содержания. Легкая сдоба имеет появление, указывающее его визуальные характеристики, а также поведение, определяющее, какое взаимодействие с пользователем заставит легкую сдобу закрываться. Переходная легкая сдоба закрывается в ответ на большую часть взаимодействия с пользователем, тогда как полупереходная легкая сдоба закрывается, когда пользователь взаимодействует с окном, содержащим представление расположения легкой сдобы. Легкая сдоба с определенным с помощью приложения поведением обычно не закрывается от имени разработчика.
Система автоматически располагает каждую легкую сдобу относительно своего представления расположения и перемещений легкая сдоба каждый раз, когда перемещается ее представление расположения. Прямоугольник расположения в представлении расположения может быть указан для дополнительной гранулярности.
Легкая сдоба может быть отсоединена для становления отдельным окном, когда они перетаскиваются путем реализации надлежащего метода делегата.
Соответствует
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.7 и позже.
-
Контроллер представления, управляющий содержанием легкой сдобы.
Объявление
Swift
@IBOutlet var contentViewController: NSViewController?Objective C
@property(retain) IBOutlet NSViewController *contentViewControllerОбсуждение
Необходимо установить довольное контроллер представления легкой сдобы, прежде чем будет показана легкая сдоба. Изменения в контроллере представления содержания легкой сдобы, в то время как легкая сдоба показана, заставят легкую сдобу анимировать если
animatesсвойствоYEStrue.Значение по умолчанию
nil.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Указывает поведение легкой сдобы.
Обсуждение
Значение по умолчанию
NSPopoverBehaviorApplicationDefined. ПосмотритеNSPopoverBehaviorдля возможного значения.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Показывает легкую сдобу, привязанную на указанном представлении.
Объявление
Параметры
positioningRectПрямоугольник в
positioningViewотносительно которого должна быть расположена легкая сдоба. Обычно набор к границамpositioningView. Может быть пустой прямоугольник, который примет значение по умолчанию к границамpositioningView.positioningViewПредставление, относительно которого должна быть расположена легкая сдоба. Заставляет метод повышать
NSInvalidArgumentExceptionеслиnil.preferredEdgeКрай
positioningViewлегкая сдоба должна предпочесть быть привязанной на.Обсуждение
Этот метод повышения
NSInternalInconsistencyExceptionеслиcontentViewControllerили представление контроллера представленияnil. Если легкая сдоба уже показывается, этот метод обновляет привязанное представление, прямоугольник и предпочтенный край. Если представление расположения не видимо, этот метод ничего не делает.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
positioningRect positioningRectСвойствоРазмер содержания легкой сдобы.
Обсуждение
Легкая сдоба расположена относительно расположения, просматривают и автоматически перемещены, когда расположение или размер расположения просматривают изменения.
Иногда желательно расположить легкую сдобу относительно прямоугольника в представлении расположения. В этом случае необходимо обновить
positioningRectсвойство каждый раз, когда изменяется этот прямоугольник.Это свойство представлено как привязка только для чтения.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Указывает появление легкой сдобы.
Объявление
Swift
var appearance: NSAppearance?Objective C
@property(strong) NSAppearance *appearanceОбсуждение
Значение по умолчанию
NSPopoverAppearanceMinimalкоторый заставляет легкую сдобу быть выведенной на экран с помощью стандартного системного появления. ПосмотритеNSPopoverAppearanceдля возможного значения.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Указывает, должна ли быть анимирована легкая сдоба.
Объявление
Swift
var animates: BoolObjective C
@property BOOL animatesОбсуждение
Легкая сдоба может быть анимирована, когда она показывает, закрывается, перемещается или, кажется, переходит к отделяемому окну. Это свойство также управляет, анимирует ли легкая сдоба, когда изменяется довольное представление или размер содержания.
Система не гарантирует, какие способы поведения будут анимированы или что будут уважать это свойство; это расценивается как подсказка.
Значение по умолчанию
YEStrue.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
contentSize contentSizeСвойствоРазмер содержания легкой сдобы.
Обсуждение
Когда довольное контроллер представления установлено, размер содержания легкой сдобы установлен соответствовать размер довольного представление.
Изменения в размере содержания легкой сдобы заставят легкую сдобу анимировать, в то время как это показано если
animatesсвойствоYEStrue.Это свойство представлено как привязка только для чтения.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
показанный показанныйСвойствоСостояние дисплея легкой сдобы.
Объявление
Swift
var shown: Bool { get }Objective C
@property(readonly, getter=isShown) BOOL shownОбсуждение
Значение
YEStrueесли легкая сдоба показывается,NOfalseиначе.Легкая сдоба считается показанной от точки когда
showRelativeToRect:ofView:preferredEdge:вызывается. Легкую сдобу считают закрытой в ответ на вызов такжеcloseилиperformClose:.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Попытки закрыть легкую сдобу.
Объявление
Swift
@IBAction func performClose(_sender: AnyObject?)Objective C
- (IBAction)performClose:(id)senderПараметры
senderОтправитель сообщения действия.
Обсуждение
Легкая сдоба не будет закрыта, если она будет иметь делегата, и делегат реализует возвраты
popoverShouldClose:возврат методаNOfalse, или если подкласс реализаций класса NSPopoverpopoverShouldClose:и возвратыNOfalse).Работа перестанет работать, если легкая сдоба выведет на экран вложенную легкую сдобу или если это имеет дочернее окно. Окно попытается закрыть свою легкую сдобу, когда оно получит a
performClose:сообщение.Легкая сдоба анимирует, когда закрыто если
animatesсвойство установлено вNOfalse.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Вынуждает легкую сдобу закрыться, не консультируясь с ее делегатом.
Объявление
Swift
func close()Objective C
- (void)closeОбсуждение
Любая легкая сдоба, вложенная в легкой сдобе, также получит a
closeсообщение. Когда окно закрывается в ответ наcloseотправляемое сообщение, вся его легкая сдоба закрывается. Легкая сдоба анимирует, когда закрыто еслиanimatesсвойство установлено вNOfalse.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Делегат легкой сдобы.
Объявление
Swift
@IBOutlet unowned(unsafe) var delegate: NSPopoverDelegate?Objective C
@property(assign) IBOutlet id<NSPopoverDelegate> delegateОператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
Типы данных
-
Набор предопределенных появлений для легкой сдобы.
Объявление
Swift
enum NSPopoverAppearance : Int { case Minimal case HUD }Objective C
enum { NSPopoverAppearanceMinimal = 0, NSPopoverAppearanceHUD = 1 }; typedef NSInteger NSPopoverAppearance;Константы
-
MinimalNSPopoverAppearanceMinimalЛегкая сдоба рисует с минимальным появлением.
Доступный в OS X v10.7 и позже.
Осуждаемый в OS X v10.10.
-
HUDNSPopoverAppearanceHUDЛегкая сдоба рисует с появлением HUD.
Доступный в OS X v10.7 и позже.
Осуждаемый в OS X v10.10.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
-
Появление и поведение исчезновения легкой сдобы.
Объявление
Swift
enum NSPopoverBehavior : Int { case ApplicationDefined case Transient case Semitransient }Objective C
enum { NSPopoverBehaviorApplicationDefined = 0, NSPopoverBehaviorTransient = 1, NSPopoverBehaviorSemitransient = 2 }; typedef NSInteger NSPopoverBehavior;Константы
-
ApplicationDefinedNSPopoverBehaviorApplicationDefinedВаше приложение принимает на себя ответственность за закрытие легкой сдобы.
Система все еще закроет легкую сдобу в ограниченном количестве обстоятельств. Например, когда окно ее positioningView закроется, система попытается закрыть легкую сдобу. Точные взаимодействия, в которых AppKit закроет легкую сдобу, не гарантируются. Можно рассмотреть реализацию - отмена: закрыть легкую сдобу, когда нажимается клавиша выхода.
Доступный в OS X v10.7 и позже.
-
TransientNSPopoverBehaviorTransientКогда пользователь будет взаимодействовать с элементом пользовательского интерфейса вне легкой сдобы, система закроет легкую сдобу.
Обратите внимание на то, что взаимодействие с меню или панелями, становящимися ключевыми только при необходимости, не заставит переходную легкую сдобу закрываться. Точные взаимодействия, которые заставят переходную легкую сдобу закрываться, не указаны.
Доступный в OS X v10.7 и позже.
-
SemitransientNSPopoverBehaviorSemitransientКогда пользователь будет взаимодействовать с элементами пользовательского интерфейса в окне, содержащем представление расположения легкой сдобы, система закроет легкую сдобу.
Полупереходная легкая сдоба не может быть показана относительно представлений в другой легкой сдобе, и при этом они не могут быть показаны относительно представлений в дочерних окнах. Точные взаимодействия, заставляющие полупереходную легкую сдобу закрываться, не указаны.
Доступный в OS X v10.7 и позже.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
-
Следующие константы используются в качестве ключей
userInfoсловарь для уведомлений, имеющих отношение к легкой сдобе.Объявление
Swift
let NSPopoverCloseReasonKey: NSString! let NSPopoverCloseReasonStandard: NSString! let NSPopoverCloseReasonDetachToWindow: NSString!Objective C
NSString * const NSPopoverCloseReasonKey; NSString * const NSPopoverCloseReasonStandard; NSString * const NSPopoverCloseReasonDetachToWindow;Константы
-
NSPopoverCloseReasonKeyNSPopoverCloseReasonKeyuserInfo ключ, содержащий причину
NSPopoverWillCloseNotification.Доступный в OS X v10.7 и позже.
-
NSPopoverCloseReasonStandardNSPopoverCloseReasonStandardУказывает, что легкая сдоба была закрыта стандартным способом.
Доступный в OS X v10.7 и позже.
-
NSPopoverCloseReasonDetachToWindowNSPopoverCloseReasonDetachToWindowУказывает, что легкая сдоба была закрыта, потому что она отсоединяется к окну.
Доступный в OS X v10.7 и позже.
-
-
Отправленный, прежде чем легкая сдоба показана.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Отправленный после того, как легкая сдоба закончила анимировать на экране.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Отправленный, прежде чем легкая сдоба закрывается.
userInfoключNSPopoverCloseReasonKeyуказывает причину закрытия. Это может в настоящее время быть такжеNSPopoverCloseReasonStandardилиNSPopoverCloseReasonDetachToWindow, несмотря на то, что больше причин закрытия может быть добавлено в будущем.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
-
Отправленный после того, как легкая сдоба закончила анимировать вне экрана.
Значение
userInfoключNSPopoverCloseReasonKeyуказывает причину закрытия. Это может в настоящее время быть такжеNSPopoverCloseReasonStandardилиNSPopoverCloseReasonDetachToWindow, несмотря на то, что больше причин закрытия может быть добавлено в будущем.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.7 и позже.
