NSViewController
Контроллер представления управляет представлением, обычно загруженным из файла пера.
Это управление включает:
Управление памятью объектов верхнего уровня, подобных выполняемому
NSWindowControllerкласс, проявляя ту же заботу для предотвращения ссылочных циклов, когда средства управления связываются с владельцем файла пера.Объявление обобщения
representedObjectсвойство, чтобы упростить устанавливать привязку в пере к объекту, который еще не известен во время загрузки пера или легко доступный к коду, это делает загрузку пера.Реализация привязки значения ключа
NSEditorнеофициальный протокол, так, чтобы приложения с помощью контроллера представления могли легко сделать связанные элементы управления в фиксации представлений или отбросить изменения пользователем.
Запускаясь в OS X v10.10, контроллер представления предлагает полный набор методов жизненного цикла, позволяя Вам управлять содержанием окна в пути, который является наравне с управлением контроллером представления iOS. Эти методики, представленные, чтобы здесь отразить типичный цикл:
Жизненный цикл представления:
-
Цикл взаимодействия с пользователем:
Кроме того, запуск в OS X v10.10 контроллер представления участвует в цепочке респондента. Можно реализовать методы действия непосредственно в контроллере представления. Соответствующие действия, происходящие в представлении контроллера представления, продолжают цепочку респондента и обрабатываются теми методами.
До OS X v10.10, типичный образец использования для загрузки файла пера должен был разделить на подклассы NSViewController и переопределение loadView метод для вызова [super loadView]. Но в OS X v10.10 и позже, loadView метод автоматически ищет файл пера с тем же именем как контроллер представления. Для использования в своих интересах этого поведения назовите файл пера в честь его соответствующего контроллера представления и передачи nil к обоим параметрам initWithNibName:bundle: метод.
Контроллер представления использует ленивую загрузку своего представления: Сразу после того, как контроллер представления загружается в память, значение viewLoaded свойство NOfalse. Значение изменяется на YEStrue после loadView метод возвращается и как раз перед системными вызовами viewDidLoad метод.
Контроллер представления предназначается, чтобы быть очень допускающим повторное использование, такой что касается динамичного представления различных объектов. Например, addAccessoryController: методы NSPageLayout и NSPrintPanel классы берут NSViewController экземпляр как параметр и набор representedObject свойство к NSPrintInfo объект, который должен быть показан пользователю. Это позволяет разработчику легко создавать новые представления аксессуара печати с помощью привязки и NSPrintInfo кодирование значения ключа класса и соответствие наблюдения значения ключа. Когда пользователь отклоняет диалоговое окно печати, NSPageLayout и NSPrintPanel классы каждый отправляет NSEditor сообщения к каждому вспомогательному контроллер представления, чтобы гарантировать, что изменения пользователя фиксировались или отбрасывались должным образом. Заголовки аксессуаров получены от контроллеров представления и показаны пользователю в выпадающих меню, из которых может выбрать пользователь.
Наследование
-
NSObject -
NSResponder -
NSViewController -
GKChallengesViewController -
GKFriendRequestComposeViewController -
GKGameCenterViewController -
GKMatchmakerViewController -
GKTurnBasedMatchmakerViewController -
MCBrowserViewController -
NCWidgetListViewController -
NCWidgetSearchViewController -
NSCollectionViewItem -
NSPageController -
NSSplitViewController -
NSTabViewController -
NSTitlebarAccessoryViewController -
QCPlugInViewController -
SLComposeServiceViewController
-
NSObject -
NSResponder -
NSViewController -
GKChallengesViewController -
GKFriendRequestComposeViewController -
GKGameCenterViewController -
GKMatchmakerViewController -
GKTurnBasedMatchmakerViewController -
MCBrowserViewController -
NCWidgetListViewController -
NCWidgetSearchViewController -
NSCollectionViewItem -
NSPageController -
NSSplitViewController -
NSTabViewController -
NSTitlebarAccessoryViewController -
QCPlugInViewController -
SLComposeServiceViewController
Соответствует
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.5 и позже.
-
init (nibName:bundle:) - initWithNibName:bundle:Определяемый инициализаторВозвраты
NSViewControllerобъект, инициализированный к файлу пера в указанном пакете.Объявление
Параметры
nibNameOrNilИмя файла пера, без любой ведущей информации о пути.
nibBundleOrNilПакет, в котором можно искать файл пера. Если Вы указываете
nil, этот метод ищет файл пера в основном пакете.Возвращаемое значение
Инициализированный
NSViewControllerобъект, илиnilесли файл пера не мог бы быть расположен, если были ошибки во время инициализации или.Обсуждение
NSViewControllerобъект ищет файл пера в специфичных для языка каталогах проекта пакета сначала, сопровождаемый каталогом Resources.Указанный файл пера должен обычно иметь класс набора владельца файла к
NSViewController, или пользовательский подкласс, сviewвыход соединился с представлением.Если Вы передаете в a
nilдляnibNameOrNilтогдаnibNameвозвратитсяnilиloadViewвыдаст исключение; в этом случае необходимо вызватьsetView:преждеviewвызывается, или переопределениеloadView.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
-
Инстанцирует представления от файла пера и устанавливает значение
viewсвойство.Объявление
Swift
func loadView()Objective C
- (void)loadViewОбсуждение
Этот метод соединяет инстанцированное представление от файла пера до
viewсвойство контроллера представления. Этот метод вызывает система и представляют в этом классе, таким образом, можно переопределить его для добавления поведения сразу прежде или после загрузки пера.Не вызывайте этот метод. Если Вы требуете, чтобы этот метод был вызван, получите доступ
viewсвойство.Не вызывайте этот метод от других объектов, если Вы не заботитесь для предотвращения избыточных вызовов. Реализация по умолчанию
loadViewметод обрабатывает избыточные вызовы правильно, но подкласс контроллера представления не мог бы. Для сейфа другие объекты должны вместо этого получить доступ к контроллеру представленияviewсвойство.loadViewметод сначала получает значения контроллера представленияnibNameиnibBundleсвойства. Это тогда используетNSNibкласс для инстанцирования указанного файла пера черезinstantiateWithOwner:topLevelObjects:метод, обеспечивая контроллер представления возражает какownerпараметр.Для этого метода для работы правильно необходимо указать владельца файла файла пера, в Интерфейсном Разработчике, чтобы быть
NSViewController. Также необходимо правильно соединитьсяviewвыход владельца файла к намеченному представлению в файле пера. Затем во время выполнения перо, загружающее машинное оборудование, устанавливает значение контроллера представленияviewсвойство к инстанцированному представлению файла пера.До OS X v10.10,
loadViewметод не обеспечивал четко определенное поведение еслиnibNameзначение свойства былоnil. В OS X v10.10 и позже, однако, Вы получаете корректное поведение, не указывая имя пера, пока имя файла пера совпадает с именем контроллера представления. Например, если у Вас есть вызванный подкласс контроллера представленияMyViewControllerи файл пера с тем же именем, можно использовать удобный образец инициализации[[MyViewController alloc] init].Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
См. также
-
representedObject representedObjectСвойствоОбъект, значение которого представлено в основном представлении получателя.
Объявление
Swift
var representedObject: AnyObject?Objective C
@property(strong) id representedObjectОбсуждение
Это свойство сохраняет объект, который Вы обеспечиваете для него; это не копирует его. В другом слова контроллер представления имеет к - одно отношение с его представленным объектом и не владеет им как атрибутом.
representedObjectсвойство является кодированием значения ключа и значением ключа, наблюдающим совместимый. Когда Вы используете представленный объект в качестве владельца файла файла пера, можно связать средства управления с ключевыми путями использования владельца файла, запускающимися со строкиrepresentedObject.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
-
Пакет пера, который будет загружен для инстанцирования основного представления получателя. (только для чтения)
Объявление
Swift
var nibBundle: NSBundle? { get }Objective C
@property(strong, readonly) NSBundle *nibBundleОбсуждение
Значение этого свойства является пакетом, который Вы обеспечиваете для
nibBundleOrNilпараметр вinitWithNibName:bundle:метод.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Имя файла пера, который будет загружен для инстанцирования основного представления получателя. (только для чтения)
Объявление
Swift
var nibName: String? { get }Objective C
@property(copy, readonly) NSString *nibNameОбсуждение
Значение этого свойства является именем, которое Вы обеспечиваете для
nibNameOrNilпараметр вinitWithNibName:bundle:метод.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
См. также
-
представление представлениеСвойствоОсновное представление контроллера представления.
Обсуждение
Если значение этого свойства уже не установлено при доступе к нему контроллер представления вызывает
loadViewметод. Тот метод, в свою очередь, устанавливает представление от файла пера, идентифицированного контроллером представленияnibNameиnibBundleсвойства.Если Вы хотите установить представление контроллера представления непосредственно, установите значение этого свойства сразу после создания контроллера представления.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
-
Локализованный заголовок основного представления получателя.
Обсуждение
Можно использовать
titleсвойство по мере необходимости для пользовательского интерфейса Вашего приложения, например, позволить пользователю выбрать среди многократных именованных представлений в меню или другой подразумеваемой возможности.NSViewControllerкласс не использует это свойство в своих собственных целях.titleсвойство является кодированием значения ключа и значением ключа, наблюдающим совместимый.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
-
commitEditingWithDelegate (_: didCommitSelector:contextInfo:) - commitEditingWithDelegate:didCommitSelector:contextInfo:Попытайтесь фиксировать любые в настоящее время редактируемые результаты получателя.
Объявление
Swift
func commitEditingWithDelegate(_delegate: AnyObject?, didCommitSelectordidCommitSelector: Selector, contextInfocontextInfo: UnsafeMutablePointer<Void>)Objective C
- (void)commitEditingWithDelegate:(id)delegatedidCommitSelector:(SEL)didCommitSelectorcontextInfo:(void *)contextInfoПараметры
delegateОбъект, который может служить делегатом получателя. Это должно реализовать метод, указанный
didCommitSelector.didCommitSelectorСелектор, вызывающийся на делегата.
contextInfoКонтекстная информация, отправляющаяся как
contextInfoпараметр для делегирования, когдаdidCommitSelectorвызывается.Обсуждение
Получатель, должно быть, был зарегистрирован как редактор объектного использования
objectDidBeginEditing:, и еще не было не зарегистрировано последующим вызовомobjectDidEndEditing:. Когда фиксация или успешно выполнится или перестанет работать, отправьтеdelegateсообщение, указанноеdidCommitSelector.didCommitSelectorметод должен иметь следующий метод signature:.- (void)editor:(id)editor didCommit:(BOOL)didCommit contextInfo:(void *)contextInfo
Если значение ключа, кодирующее сбои проверки, реализация этого метода должна обычно отправлять представление получателя a, если ошибка происходит при попытке фиксировать, например
presentError:modalForWindow:delegate:didPresentSelector:contextInfo:сообщение, указывая представление, содержащее окно.Можно счесть этот метод полезным в некоторых ситуациях, когда Вы хотите гарантировать, что незаконченные изменения применяются перед изменением в состоянии пользовательского интерфейса. Например, Вы, возможно, должны гарантировать, что изменения, ожидающие в текстовом поле, применяются, прежде чем окно закрывается. См. также
commitEditingкоторый выполняет подобную функцию, но который позволяет Вам обрабатывать любые ошибки непосредственно, несмотря на то, что она не предоставляет информации вне простого успеха/отказа.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Возвраты, смог ли получатель фиксировать какие-либо незаконченные редактирования.
Объявление
Swift
func commitEditing() -> BoolObjective C
- (BOOL)commitEditingВозвращаемое значение
Возвраты
YEStrueесли изменения были успешно применены к модели,NOfalseиначе.Обсуждение
Если получателю не удается применить изменения в объекте модели, возможно вследствие ошибки проверки, фиксация отклонена.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
-
Заставляет получатель отбрасывать любые изменения, восстанавливая предыдущие значения.
Объявление
Swift
func discardEditing()Objective C
- (void)discardEditingОператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.5 и позже.
См. также
-
раскадровка раскадровкаСвойствоРаскадровка, из которой был загружен контроллер представления. (только для чтения)
Объявление
Swift
var storyboard: NSStoryboard? { get }Objective C
@property(readonly, strong) NSStoryboard *storyboardОбсуждение
Если контроллер представления не был загружен из раскадровки, значение этого свойства
nil.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Объявление
Swift
@IBAction func dismissController(_sender: AnyObject?)Objective C
- (IBAction)dismissController:(id)senderПараметры
senderОбсуждение
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Вызванный после того, как представление контроллера представления было загружено в память.
Объявление
Swift
func viewDidLoad()Objective C
- (void)viewDidLoadОбсуждение
Можно переопределить этот метод для выполнения задач сразу следовать за установкой
viewсвойство.Как правило, Ваше переопределение выполнило бы разовое инстанцирование и инициализацию содержания представления контроллера представления. Если Вы переопределяете этот метод, обращаетесь к этому методу
superв некоторый момент в Вашей реализации в случае, если суперкласс также переопределяет этот метод.Для контроллера представления, происходящего в файле пера, этот метод сразу вызывают после
viewсвойство установлено. Для контроллера представления, создаваемого программно, этот метод сразу вызывают послеloadViewметод завершается.Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
viewLoaded viewLoadedСвойствоБулево значение, указывающее, загружается ли представление контроллера представления в память. (только для чтения)
Объявление
Swift
var viewLoaded: Bool { get }Objective C
@property(readonly, getter=isViewLoaded) BOOL viewLoadedОператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Вызванный после того, как представление контроллера представления было загружено в память, собирается быть добавленным к иерархии представления в окне.
Объявление
Swift
func viewWillAppear()Objective C
- (void)viewWillAppearОбсуждение
Можно переопределить этот метод для выполнения задач до представления контроллера представления, добавляемого к иерархии представления, таких как установка цвета подсветки представления. Этот метод вызывают когда:
Представление собирается быть добавленным к иерархии представления контроллера представления
Окно контроллера представления собирается стать видимым, такие как бросание в глаза или нескрытое становление
Если Вы переопределяете этот метод, обращаетесь к этому методу
superв некоторый момент в Вашей реализации в случае, если суперкласс также переопределяет этот метод.Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Вызванный, когда представление контроллера представления полностью переходится на экран.
Объявление
Swift
func viewDidAppear()Objective C
- (void)viewDidAppearОбсуждение
Этот метод вызывают после завершения любого получения и анимаций, вовлеченных в начальное появление представления. Можно переопределить этот метод для выполнения задач, надлежащих в течение того времени, таких как работа, которая не должна вмешиваться в анимацию представления или запуск анимации, которую Вы хотите начать после того, как представление появляется.
Если Вы переопределяете этот метод, обращаетесь к этому методу
superв некоторый момент в Вашей реализации в случае, если суперкласс также переопределяет этот метод.Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Вызванный, когда представление контроллера представления собирается быть удаленным из иерархии представления в окне.
Объявление
Swift
func viewWillDisappear()Objective C
- (void)viewWillDisappearОбсуждение
Можно переопределить этот метод для выполнения задач, которые должны предшествовать исчезновению представления контроллера представления, такого как остановка непрерывной анимации, которую Вы запустили в ответ на
viewDidAppearвызов метода. Этот метод вызывают когда:Представление собирается быть удаленным из иерархии представления окна
Представление собирается быть скрытым или затененным, такой как в случае контроллера представления, родитель которого является контроллером представления вкладки и пользователем, переключенным на другую вкладку
Окно закрывается
Если Вы переопределяете этот метод, обращаетесь к этому методу
superв некоторый момент в Вашей реализации в случае, если суперкласс также переопределяет этот метод.Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Вызванный после того, как представление контроллера представления удалено из иерархии представления в окне.
Объявление
Swift
func viewDidDisappear()Objective C
- (void)viewDidDisappearОбсуждение
Когда представление не видимо или больше часть окна, можно переопределить этот метод для выполнения задач, связанных с удалением представления контроллера представления от иерархии представления окна, таких как высвобождение средств, не необходимых.
Если Вы переопределяете этот метод, обращаетесь к этому методу
superв некоторый момент в Вашей реализации в случае, если суперкласс также переопределяет этот метод.Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
preferredContentSize preferredContentSizeСвойствоЖелаемый размер представления контроллера представления, в экранных модулях.
Обсуждение
Установите это свойство для выражения желаемого размера для представления контроллера представления. Родительский контроллер представления может консультироваться со значением этого свойства при выполнении расположения.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Вызванный во время Автоматического обновления Ограничения макета, чтобы позволить контроллеру представления добиться процесса.
Объявление
Swift
func updateViewConstraints()Objective C
- (void)updateViewConstraintsОбсуждение
Этот метод вызывают, например, когда пользователь взаимодействует с целью в пути, заставляющем расположение изменяться. Когда вызвано, реализация по умолчанию этого метода поочередно вызывает
updateConstraintsметод на представлении контроллера представления.Можно переопределить этот метод для обновления пользовательских ограничений представления как альтернатива разделению на подклассы представления контроллера представления и переопределению
updateConstraintsметод.При переопределении этого метода необходимо обратиться к этому методу
superв некоторый момент в Вашей реализации или вызовеupdateConstraintsметод на представлении контроллера представления.Этот метод вызывают только для приложений, соединяющихся против OS X v10.10 или позже.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Вызванный как раз перед
layoutметод представления контроллера представления вызывают.Объявление
Swift
func viewWillLayout()Objective C
- (void)viewWillLayoutОбсуждение
Можно переопределить этот метод для выполнения задач предшествовать расположению представления контроллера представления, такого как корректировка Автоматических Ограничений макета. Если Вы переопределяете этот метод, обращаетесь к этому методу
superв некоторый момент в Вашей реализации в случае, если суперкласс также переопределяет этот метод.Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Вызванный сразу после
layoutметод представления контроллера представления вызывают.Объявление
Swift
func viewDidLayout()Objective C
- (void)viewDidLayoutОбсуждение
Можно переопределить этот метод для выполнения задач следовать за завершением расположения представления контроллера представления. Если Вы переопределяете этот метод, обращаетесь к этому методу
superв некоторый момент в Вашей реализации в случае, если суперкласс также переопределяет этот метод.Реализация по умолчанию этого метода ничего не делает.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Удобный метод для добавления дочернего контроллера представления в конце
childViewControllersмассив.Объявление
Swift
func addChildViewController(_childViewController: NSViewController)Objective C
- (void)addChildViewController:(NSViewController *)childViewControllerПараметры
childViewControllerКонтроллер представления, который будет добавлен до конца
childViewControllersмассив.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
См. также
-
childViewControllers childViewControllersСвойствоМассив контроллеров представления, которые являются иерархическими дочерними элементами контроллера представления.
Объявление
Swift
var childViewControllers: [AnyObject]Objective C
@property(copy) NSArray *childViewControllersОбсуждение
Можно добавить или демонтировать дочерние контроллеры представления при помощи этого свойства. Когда Вы делаете,
addChildViewController:илиremoveFromParentViewControllerметод вызывают соответственно.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
transitionFromViewController (_: toViewController:options:completionHandler:) - transitionFromViewController:toViewController:options:completionHandler:Выполняет переход между двумя одноуровневыми дочерними контроллерами представления контроллера представления.
Объявление
Swift
func transitionFromViewController(_fromViewController: NSViewController, toViewControllertoViewController: NSViewController, optionsoptions: NSViewControllerTransitionOptions, completionHandlercompletion: (() -> Void)?)Objective C
- (void)transitionFromViewController:(NSViewController *)fromViewControllertoViewController:(NSViewController *)toViewControlleroptions:(NSViewControllerTransitionOptions)optionscompletionHandler:(void (^)(void))completionПараметры
fromViewControllertoViewControllerДочерний контроллер представления, представление которого не находится в иерархии представления контроллера представления.
optionsБитовая маска опций, указывающих, как Вы хотите выполнить анимацию перехода. Для опций посмотрите перечисление NSViewControllerTransitionOptions.
completionБлок, вызванный сразу после анимации перехода, завершается.
Обсуждение
Используйте этот метод для перехода между одноуровневыми дочерними контроллерами представления, принадлежавшими родительскому контроллеру представления (который является получателем этого метода).
Этот метод включает представление
toViewControllerконтроллер представления к суперпредставлению представления вfromViewControllerконтроллер представления. Аналогично, этот метод удаляетfromViewControllerпредставление от родительской иерархии представления контроллера представления находилось подходящее время. Важно позволить этому методу добавлять и удалять эти представления.Для создания родительского/дочернего отношения между контроллерами представления используйте
addChildViewController:метод илиinsertChildViewController:atIndex:метод.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Вставляет указанный дочерний контроллер представления в
childViewControllersмассив в указанной позиции.Объявление
Swift
func insertChildViewController(_childViewController: NSViewController, atIndexindex: Int)Objective C
- (void)insertChildViewController:(NSViewController *)childViewControlleratIndex:(NSInteger)indexПараметры
childViewControllerДочерний контроллер представления для добавления к
childViewControllersмассив.indexИндекс в
childViewControllersмассив, в котором можно вставить дочерний контроллер представления. Это значение не должно быть больше, чем количество элементов в массиве.Обсуждение
Необходимо вместо этого использовать
addChildViewController:метод, если Вы не хотите выполнить работу над дочерними контроллерами представления, как Вы добавляете их. В этом случае переопределите этот метод для выполнения той работы.Если дочерний контроллер представления имеет различного родителя при вызове этого метода дочерний элемент является первым, удалены из его существующего родителя путем вызова дочернего элемента
removeFromParentViewControllerметод.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Удаляет указанный дочерний контроллер из контроллера представления.
Объявление
Swift
func removeChildViewControllerAtIndex(_index: Int)Objective C
- (void)removeChildViewControllerAtIndex:(NSInteger)indexПараметры
indexИндекс в
childViewControllersмассив для дочернего контроллера представления Вы хотите удалить.Обсуждение
Переопределите этот метод, если Вы хотите выполнить работу во время демонтажа дочернего контроллера представления. Если Вы действительно переопределяете этот метод, в Вашей реализации обращаются к этому методу
super.Если Вы просто хотите демонтировать дочерний контроллер представления, вместо этого используйте использование
removeFromParentViewControllerметодОператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Удаляет вызванный контроллер представления из его родительского контроллера представления.
Объявление
Swift
func removeFromParentViewController()Objective C
- (void)removeFromParentViewControllerОбсуждение
Используйте этот метод для удаления дочернего контроллера представления из его родительского контроллера представления, если Вы не хотите выполнить работу во время удаления. В этом случае, вместо этого переопределение
removeChildViewControllerAtIndex:метод, чтобы выполнить ту работу и вызвать тот метод.Это - удобный метод, вызывающий
removeChildViewControllerAtIndex:метод, автоматически предоставляя надлежащий индекс оценивает как параметр.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
preferredContentSizeDidChangeForViewController (_:) - preferredContentSizeDidChangeForViewController:Вызванный, когда существует изменение в значении
preferredContentSizeсвойство дочернего контроллера представления или представленного контроллера представления.Объявление
Swift
func preferredContentSizeDidChangeForViewController(_viewController: NSViewController)Objective C
- (void)preferredContentSizeDidChangeForViewController:(NSViewController *)viewControllerПараметры
viewControllerКонтроллер представления, чей
preferredContentSizeзначение свойства изменилось.Обсуждение
Переопределите этот метод, если Вы хотите скорректировать расположение, когда дочерний контроллер представления или представленный контроллер представления изменяют свой предпочтительный размер содержания.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Подарки другой контроллер представления с помощью указанного, пользовательского аниматора для представления и увольнения.
Объявление
Swift
func presentViewController(_viewController: NSViewController, animatoranimator: NSViewControllerPresentationAnimator)Objective C
- (void)presentViewController:(NSViewController *)viewControlleranimator:(id<NSViewControllerPresentationAnimator>)animatorПараметры
viewControlleranimatorДелегат анимации для использования для представления и увольнения другого контроллера представления. Аниматор, которого Вы указываете, сохраняется до
dismissViewController:метод вызывают, и анимация увольнения завершается.Обсуждение
Не вызывайте этот метод, если Вы не хотите использовать пользовательского аниматора. Для использования одного из типичных аниматоров для представления другого контроллера представления вместо этого вызовите один из специализированных методов представления:
Каждый из этих методов вызывает этот метод поочередно. Взаимодействие с пользователем блокируется во время представления и увольнения.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Отклоняет представленный контроллер представления, с помощью того же аниматора, представившего его.
Объявление
Swift
func dismissViewController(_viewController: NSViewController)Objective C
- (void)dismissViewController:(NSViewController *)viewControllerПараметры
viewControllerПредставленный контроллер представления, который Вы отклоняете.
Обсуждение
В OS X это - универсальный способ отклонить контроллер представления, независимо от того как это было представлено.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
presentViewController (_: asPopoverRelativeToRect:ofView:preferredEdge:behavior:) - presentViewController:asPopoverRelativeToRect:ofView:preferredEdge:behavior:Подарки другой контроллер представления как легкая сдоба.
Объявление
Swift
func presentViewController(_viewController: NSViewController, asPopoverRelativeToRectpositioningRect: NSRect, ofViewpositioningView: NSView, preferredEdgepreferredEdge: NSRectEdge, behaviorbehavior: NSPopoverBehavior)Objective C
- (void)presentViewController:(NSViewController *)viewControllerasPopoverRelativeToRect:(NSRect)positioningRectofView:(NSView *)positioningViewpreferredEdge:(NSRectEdge)preferredEdgebehavior:(NSPopoverBehavior)behaviorПараметры
viewControllerДругой контроллер представления для представления как легкая сдоба.
positioningRectРазмер содержания легкой сдобы.
positioningViewПредставление, относительно которого должна быть расположена легкая сдоба. Не должен быть
nil, или иначе контроллер представления повышаетNSInvalidArgumentExceptionисключение.preferredEdgeКрай
positioningViewто, что легкая сдоба должна предпочесть быть привязанной на.behaviorЗаключительное поведение легкой сдобы. Посмотрите
NSPopoverBehaviorперечисление.Обсуждение
Это вызовы метода
presentViewController:animator:метод наself(контроллер представления представления), и передачи аниматор легкой сдобы к тому методу.Представленный контроллер представления является делегатом и довольным контроллер представления легкой сдобы. Можно использовать
NSPopoverDelegate Protocolметоды для настройки легкой сдобы.Для отклонения легкой сдобы вызовите
dismissViewController:метод наself(контроллер представления представления).Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Подарки другой контроллер представления как модальное окно, также известное как предупреждение.
Объявление
Swift
func presentViewControllerAsModalWindow(_viewController: NSViewController)Objective C
- (void)presentViewControllerAsModalWindow:(NSViewController *)viewControllerПараметры
viewControllerДругой контроллер представления для представления как модальное окно.
Обсуждение
Это вызовы метода
presentViewController:animator:метод наself(контроллер представления представления), и передачи модальный аниматор окна к тому методу.Представленный контроллер представления является делегатом и довольным контроллер представления его окна. Можно использовать
NSWindowDelegate Protocolметоды для предотвращения закрытия модального окна, в случае необходимости.Для отклонения модального окна вызовите
dismissViewController:метод наself(контроллер представления представления).Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Подарки другой контроллер представления как лист.
Объявление
Swift
func presentViewControllerAsSheet(_viewController: NSViewController)Objective C
- (void)presentViewControllerAsSheet:(NSViewController *)viewControllerПараметры
viewControllerДругой контроллер представления для представления как лист.
Обсуждение
Это вызовы метода
presentViewController:animator:метод наself(контроллер представления представления), и передачи аниматор листа к тому методу.Представленный контроллер представления является делегатом и довольным контроллер представления его листа.
Для отклонения листа вызовите
dismissViewController:метод наself(контроллер представления представления).Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
parentViewController parentViewControllerСвойствоНепосредственный наследователь просматривает контроллер контроллера представления. (только для чтения)
Объявление
Swift
var parentViewController: NSViewController? { get }Objective C
@property(readonly) NSViewController *parentViewControllerОбсуждение
Значение этого свойства
nilесли контроллер представления не имеет никакого родительского контроллера представления, такой, как будто контроллер представления является контроллером представления содержания окна.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Контроллеры представления, если таковые имеются, которые в настоящее время представляются контроллером представления. (только для чтения)
Объявление
Swift
var presentedViewControllers: [AnyObject]? { get }Objective C
@property(readonly, assign) NSArray *presentedViewControllersОбсуждение
Существует связь «один ко многим» между контроллером представления чей
presentedViewControllersсвойство, к которому Вы получаете доступ, и контроллеры представления, которые оно в настоящее время представляет.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Контроллер представления, представивший контроллер представления или это представило его самый дальний контроллер представления наследователя. (только для чтения)
Объявление
Swift
unowned(unsafe) var presentingViewController: NSViewController? { get }Objective C
@property(readonly, assign) NSViewController *presentingViewControllerОбсуждение
Контроллер представления представления является тем, который в конечном счете ответственен за представление контроллера представления чей
presentingViewControllerсвойство Вы получаете доступ.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
extensionContext extensionContextСвойствоДля контроллера представления, который является частью расширения приложения, контекста расширения приложения. (только для чтения)
Объявление
Swift
var extensionContext: NSExtensionContext? { get }Objective C
@property(readonly, retain) NSExtensionContext *extensionContextОбсуждение
Если контроллер представления не является частью расширения приложения, значение этого свойства
nil.Путем проверки на
nilможно использовать этот метод, чтобы определить, является ли контроллер представления частью приложения или расширения приложения, в целях conditionalizing реализация контроллера представления. Обратитесь к Ссылке класса NSExtensionContext для получения информации о дополнительном контексте.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Для контроллера представления, который является частью расширения приложения, предпочтительного экранного источника.
Объявление
Swift
var preferredScreenOrigin: NSPointObjective C
@property NSPoint preferredScreenOriginОбсуждение
Установите это свойство для расположения нижнего левого угла основного представления расширения приложения в экранном пространстве. Для указания желаемого основного размера представления для контроллера представления расширения приложения используйте
preferredContentSizeсвойство.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
preferredMaximumSize preferredMaximumSizeСвойствоДля контроллера представления, который является частью расширения приложения, самого большого допустимого размера для основного представления расширения приложения, в экранных модулях. (только для чтения)
Объявление
Swift
var preferredMaximumSize: NSSize { get }Objective C
@property(readonly) NSSize preferredMaximumSizeОбсуждение
Расширение приложения должно возвратить максимальные размерности, которые потенциально полезны для его корневого представления, на основе элементов, которые была отправлена служба. По умолчанию значение этого свойства является большим или бесконечным размером.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
preferredMinimumSize preferredMinimumSizeСвойствоДля контроллера представления, который является частью расширения приложения, самого маленького допустимого размера для основного представления расширения приложения, в экранных модулях. (только для чтения)
Объявление
Swift
var preferredMinimumSize: NSSize { get }Objective C
@property(readonly) NSSize preferredMinimumSizeОбсуждение
Расширение приложения должно возвратить минимальные размерности, которые его основное представление может разместить, на основе элементов, которые было отправлено расширение приложения. По умолчанию значение этого свойства является маленьким, но непустым размером.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Для контроллера представления, который является частью расширения приложения, вызванного, когда его представление собирается быть измененным.
Объявление
Swift
func viewWillTransitionToSize(_newSize: NSSize)Objective C
- (void)viewWillTransitionToSize:(NSSize)newSizeПараметры
newSizeНовый размер для представления контроллера представления.
Обсуждение
Переопределите этот метод, если Вы хотите изменить расположение в ответ на изменение в размере, потенциально анимированным способом.
Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
Параметры анимации для переходов представления в контроллере представления.
Объявление
Swift
struct NSViewControllerTransitionOptions : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var None: NSViewControllerTransitionOptions { get } static var Crossfade: NSViewControllerTransitionOptions { get } static var SlideUp: NSViewControllerTransitionOptions { get } static var SlideDown: NSViewControllerTransitionOptions { get } static var SlideLeft: NSViewControllerTransitionOptions { get } static var SlideRight: NSViewControllerTransitionOptions { get } static var SlideForward: NSViewControllerTransitionOptions { get } static var SlideBackward: NSViewControllerTransitionOptions { get } static var AllowUserInteraction: NSViewControllerTransitionOptions { get } }Objective C
typedef enum : NSUInteger { NSViewControllerTransitionNone = 0x0, NSViewControllerTransitionCrossfade = 0x1, NSViewControllerTransitionSlideUp = 0x10, NSViewControllerTransitionSlideDown = 0x20, NSViewControllerTransitionSlideLeft = 0x40, NSViewControllerTransitionSlideRight = 0x80, NSViewControllerTransitionSlideForward = 0x140, NSViewControllerTransitionSlideBackward = 0x180, NSViewControllerTransitionAllowUserInteraction = 0x1000 } NSViewControllerTransitionOptions;Константы
-
NoneNSViewControllerTransitionNoneПереход без анимации (значение по умолчанию). Указание другого параметра анимации от этого перечисления переопределяет эту опцию.
Доступный в OS X v10.10 и позже.
-
CrossfadeNSViewControllerTransitionCrossfadeАнимация перехода, постепенно появляющаяся новое представление и одновременно постепенно исчезающая старое представление. Можно объединить этот параметр анимации с любой из опций «понижения» в этом перечислении.
Доступный в OS X v10.10 и позже.
-
SlideUpNSViewControllerTransitionSlideUpАнимация перехода, двигающая старое представление, в то время как новое представление входит в представление от нижней части. Другими словами, оба представления скользят.
Доступный в OS X v10.10 и позже.
-
SlideDownNSViewControllerTransitionSlideDownАнимация перехода, двигающая старое представление вниз, в то время как новое представление скользит в представление от вершины. Другими словами, оба представления скатываются.
Доступный в OS X v10.10 и позже.
-
SlideLeftNSViewControllerTransitionSlideLeftАнимация перехода, двигающая старое представление налево, в то время как новое представление скользит в представление от права. Другими словами, оба представления скользят налево.
Доступный в OS X v10.10 и позже.
-
SlideRightNSViewControllerTransitionSlideRightАнимация перехода, двигающая старое представление вправо, в то время как новое представление скользит в представление слева. Другими словами, оба представления скользят вправо.
Доступный в OS X v10.10 и позже.
-
SlideForwardNSViewControllerTransitionSlideForwardАнимация перехода, отражающая направление макета интерфейса пользователя (
userInterfaceLayoutDirection) «прямым» способом, следующим образом:Для слева направо направления макета интерфейса пользователя,
NSViewControllerTransitionSlideLeftпараметр анимации.Для справа налево направления макета интерфейса пользователя,
NSViewControllerTransitionSlideRightпараметр анимации.
Доступный в OS X v10.10 и позже.
-
SlideBackwardNSViewControllerTransitionSlideBackwardАнимация перехода, отражающая направление макета интерфейса пользователя (
userInterfaceLayoutDirection) «обратным» способом, следующим образомДля слева направо направления макета интерфейса пользователя,
NSViewControllerTransitionSlideRightпараметр анимации.Для справа налево направления макета интерфейса пользователя,
NSViewControllerTransitionSlideLeftпараметр анимации.
Доступный в OS X v10.10 и позже.
-
AllowUserInteractionNSViewControllerTransitionAllowUserInteractionАнимация перехода, позволяющая взаимодействие с пользователем во время перехода.
Доступный в OS X v10.10 и позже.
Обсуждение
Вверх и вниз по параметрам анимации понижения являются непересекающимися, и Вы не можете объединить их.
Аналогично, левые и правые параметры анимации понижения являются непересекающимися, и Вы не можете объединить их.
Взаимодействие с пользователем с переходящими представлениями предотвращено для всех параметров анимации кроме
NSViewControllerTransitionAllowUserInteractionопция.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.10 и позже.
-
