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
свойство NO
false
. Значение изменяется на YES
true
после 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)
delegate
didCommitSelector:(SEL)didCommitSelector
contextInfo:(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() -> Bool
Objective C
- (BOOL)commitEditing
Возвращаемое значение
Возвраты
YES
true
если изменения были успешно применены к модели,NO
false
иначе.Обсуждение
Если получателю не удается применить изменения в объекте модели, возможно вследствие ошибки проверки, фиксация отклонена.
Оператор импорта
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 *)
fromViewController
toViewController:(NSViewController *)toViewController
options:(NSViewControllerTransitionOptions)options
completionHandler:(void (^)(void))completion
Параметры
fromViewController
toViewController
Дочерний контроллер представления, представление которого не находится в иерархии представления контроллера представления.
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 *)
childViewController
atIndex:(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 *)
viewController
animator:(id<NSViewControllerPresentationAnimator>)animator
Параметры
viewController
animator
Делегат анимации для использования для представления и увольнения другого контроллера представления. Аниматор, которого Вы указываете, сохраняется до
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 *)
viewController
asPopoverRelativeToRect:(NSRect)positioningRect
ofView:(NSView *)positioningView
preferredEdge:(NSRectEdge)preferredEdge
behavior:(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: NSPoint
Objective 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;
Константы
-
None
NSViewControllerTransitionNone
Переход без анимации (значение по умолчанию). Указание другого параметра анимации от этого перечисления переопределяет эту опцию.
Доступный в OS X v10.10 и позже.
-
Crossfade
NSViewControllerTransitionCrossfade
Анимация перехода, постепенно появляющаяся новое представление и одновременно постепенно исчезающая старое представление. Можно объединить этот параметр анимации с любой из опций «понижения» в этом перечислении.
Доступный в OS X v10.10 и позже.
-
SlideUp
NSViewControllerTransitionSlideUp
Анимация перехода, двигающая старое представление, в то время как новое представление входит в представление от нижней части. Другими словами, оба представления скользят.
Доступный в OS X v10.10 и позже.
-
SlideDown
NSViewControllerTransitionSlideDown
Анимация перехода, двигающая старое представление вниз, в то время как новое представление скользит в представление от вершины. Другими словами, оба представления скатываются.
Доступный в OS X v10.10 и позже.
-
SlideLeft
NSViewControllerTransitionSlideLeft
Анимация перехода, двигающая старое представление налево, в то время как новое представление скользит в представление от права. Другими словами, оба представления скользят налево.
Доступный в OS X v10.10 и позже.
-
SlideRight
NSViewControllerTransitionSlideRight
Анимация перехода, двигающая старое представление вправо, в то время как новое представление скользит в представление слева. Другими словами, оба представления скользят вправо.
Доступный в OS X v10.10 и позже.
-
SlideForward
NSViewControllerTransitionSlideForward
Анимация перехода, отражающая направление макета интерфейса пользователя (
userInterfaceLayoutDirection
) «прямым» способом, следующим образом:Для слева направо направления макета интерфейса пользователя,
NSViewControllerTransitionSlideLeft
параметр анимации.Для справа налево направления макета интерфейса пользователя,
NSViewControllerTransitionSlideRight
параметр анимации.
Доступный в OS X v10.10 и позже.
-
SlideBackward
NSViewControllerTransitionSlideBackward
Анимация перехода, отражающая направление макета интерфейса пользователя (
userInterfaceLayoutDirection
) «обратным» способом, следующим образомДля слева направо направления макета интерфейса пользователя,
NSViewControllerTransitionSlideRight
параметр анимации.Для справа налево направления макета интерфейса пользователя,
NSViewControllerTransitionSlideLeft
параметр анимации.
Доступный в OS X v10.10 и позже.
-
AllowUserInteraction
NSViewControllerTransitionAllowUserInteraction
Анимация перехода, позволяющая взаимодействие с пользователем во время перехода.
Доступный в OS X v10.10 и позже.
Обсуждение
Вверх и вниз по параметрам анимации понижения являются непересекающимися, и Вы не можете объединить их.
Аналогично, левые и правые параметры анимации понижения являются непересекающимися, и Вы не можете объединить их.
Взаимодействие с пользователем с переходящими представлениями предотвращено для всех параметров анимации кроме
NSViewControllerTransitionAllowUserInteraction
опция.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-