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
свойствоYES
true
.Значение по умолчанию
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: Bool
Objective C
@property BOOL animates
Обсуждение
Легкая сдоба может быть анимирована, когда она показывает, закрывается, перемещается или, кажется, переходит к отделяемому окну. Это свойство также управляет, анимирует ли легкая сдоба, когда изменяется довольное представление или размер содержания.
Система не гарантирует, какие способы поведения будут анимированы или что будут уважать это свойство; это расценивается как подсказка.
Значение по умолчанию
YES
true
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
contentSize contentSize
СвойствоРазмер содержания легкой сдобы.
Обсуждение
Когда довольное контроллер представления установлено, размер содержания легкой сдобы установлен соответствовать размер довольного представление.
Изменения в размере содержания легкой сдобы заставят легкую сдобу анимировать, в то время как это показано если
animates
свойствоYES
true
.Это свойство представлено как привязка только для чтения.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
-
показанный показанный
СвойствоСостояние дисплея легкой сдобы.
Объявление
Swift
var shown: Bool { get }
Objective C
@property(readonly, getter=isShown) BOOL shown
Обсуждение
Значение
YES
true
если легкая сдоба показывается,NO
false
иначе.Легкая сдоба считается показанной от точки когда
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:
возврат методаNO
false
, или если подкласс реализаций класса NSPopoverpopoverShouldClose:
и возвратыNO
false
).Работа перестанет работать, если легкая сдоба выведет на экран вложенную легкую сдобу или если это имеет дочернее окно. Окно попытается закрыть свою легкую сдобу, когда оно получит a
performClose:
сообщение.Легкая сдоба анимирует, когда закрыто если
animates
свойство установлено вNO
false
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Вынуждает легкую сдобу закрыться, не консультируясь с ее делегатом.
Объявление
Swift
func close()
Objective C
- (void)close
Обсуждение
Любая легкая сдоба, вложенная в легкой сдобе, также получит a
close
сообщение. Когда окно закрывается в ответ наclose
отправляемое сообщение, вся его легкая сдоба закрывается. Легкая сдоба анимирует, когда закрыто еслиanimates
свойство установлено вNO
false
.Оператор импорта
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;
Константы
-
Minimal
NSPopoverAppearanceMinimal
Легкая сдоба рисует с минимальным появлением.
Доступный в OS X v10.7 и позже.
Осуждаемый в OS X v10.10.
-
HUD
NSPopoverAppearanceHUD
Легкая сдоба рисует с появлением 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;
Константы
-
ApplicationDefined
NSPopoverBehaviorApplicationDefined
Ваше приложение принимает на себя ответственность за закрытие легкой сдобы.
Система все еще закроет легкую сдобу в ограниченном количестве обстоятельств. Например, когда окно ее positioningView закроется, система попытается закрыть легкую сдобу. Точные взаимодействия, в которых AppKit закроет легкую сдобу, не гарантируются. Можно рассмотреть реализацию - отмена: закрыть легкую сдобу, когда нажимается клавиша выхода.
Доступный в OS X v10.7 и позже.
-
Transient
NSPopoverBehaviorTransient
Когда пользователь будет взаимодействовать с элементом пользовательского интерфейса вне легкой сдобы, система закроет легкую сдобу.
Обратите внимание на то, что взаимодействие с меню или панелями, становящимися ключевыми только при необходимости, не заставит переходную легкую сдобу закрываться. Точные взаимодействия, которые заставят переходную легкую сдобу закрываться, не указаны.
Доступный в OS X v10.7 и позже.
-
Semitransient
NSPopoverBehaviorSemitransient
Когда пользователь будет взаимодействовать с элементами пользовательского интерфейса в окне, содержащем представление расположения легкой сдобы, система закроет легкую сдобу.
Полупереходная легкая сдоба не может быть показана относительно представлений в другой легкой сдобе, и при этом они не могут быть показаны относительно представлений в дочерних окнах. Точные взаимодействия, заставляющие полупереходную легкую сдобу закрываться, не указаны.
Доступный в 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;
Константы
-
NSPopoverCloseReasonKey
NSPopoverCloseReasonKey
userInfo ключ, содержащий причину
NSPopoverWillCloseNotification
.Доступный в OS X v10.7 и позже.
-
NSPopoverCloseReasonStandard
NSPopoverCloseReasonStandard
Указывает, что легкая сдоба была закрыта стандартным способом.
Доступный в OS X v10.7 и позже.
-
NSPopoverCloseReasonDetachToWindow
NSPopoverCloseReasonDetachToWindow
Указывает, что легкая сдоба была закрыта, потому что она отсоединяется к окну.
Доступный в 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 и позже.