NSSplitViewController
Контроллер представления разделения управляет массивом смежных дочерних представлений и имеет объект представления разделения для управления делителями между теми представлениями.
Полная архитектура объектов контроллера представления разделения немного более сложна. В частности контроллеру представления разделения принадлежит массив элементов представления разделения (типа NSSplitViewItem
), каждый из которых имеет контроллер представления (типа NSViewController
) и соответствующее представление. Дочерние представления и делители все содержатся в собственном представлении контроллера представления разделения.
Контроллер представления разделения служит делегатом своего объекта представления разделения (объект, управляющий делителями). При переопределении метода делегата представления разделения переопределение должно вызвать super
.
По умолчанию дочерние представления располагаются вертикально, сверху донизу в представлении контроллера представления разделения. Для указания горизонтали (бок о бок) расположение реализуйте vertical
свойство разделения просматривает контроллер splitView
возразите для возврата YES
true
(возврат YES
true
указывает вертикальные делители и, следовательно, горизонтальное расположение представления).
Для использования разделения просматривают контроллер, необходимо использовать Автоматическое Расположение для дочерних представлений и поддерживать анимации, разрушающиеся и показывающие дочерние представления. Например, при разработке расположения, содержащего два представления, предметную область и дополнительную боковую панель, Вы использовали бы Автоматические Ограничения макета, чтобы указать, уменьшается ли предметная область или остается тем же размером, когда боковая панель становится видимой.
Контроллер представления разделения использует ленивую загрузку своих представлений. Например, добавляя разрушенный элемент представления разделения, поскольку новый дочерний элемент не загружает связанное представление, пока оно не показано.
Наследование
-
NSObject
-
NSResponder
-
NSViewController
-
NSSplitViewController
-
NSObject
-
NSResponder
-
NSViewController
-
NSSplitViewController
Соответствует
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.10 и позже.
-
Представление разделения, которым управляет разделение, просматривает контроллер.
Обсуждение
Это свойство дает Вам, доступ к разделению просматривает представление разделения контроллера для запросов его атрибутов или настройки его определенными способами.
По умолчанию представление разделения сконфигурировано с горизонтальными делителями так, чтобы дочерние представления были расположены вертикально, сверху донизу в представлении контроллера представления разделения. Для указания горизонтали (бок о бок) расположение дочерних представлений реализуйте
vertical
свойствоNSSplitView
возразите для возвратаYES
true
.Также по умолчанию представление разделения имеет стиль делителя
NSSplitViewDividerStyleThin
, и не имеет имени автосохранения.Для обеспечения пользовательского представления разделения установите это свойство в любое время перед вызовом супер в наследованном
viewDidLoad
метод; т.е. перед контроллером представления разделенияviewLoaded
свойствоYES
true
.Представление разделения, как гарантируют, не будет тем же объектом, как это в контроллере представления разделения наследовалось
view
свойство. Для доступа к представлению разделения всегда используйтеsplitView
свойство.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает соответствующий элемент представления разделения для данного дочернего контроллера представления контроллера представления разделения.
Объявление
Swift
func splitViewItemForViewController(_
viewController
: NSViewController) -> NSSplitViewItem?Objective C
- (NSSplitViewItem *)splitViewItemForViewController:(NSViewController *)
viewController
Параметры
viewController
Дочерний контроллер представления, соответствующий элемент представления разделения которого Вы хотите.
Возвращаемое значение
Соответствующее разделение просматривает элемент. Возвраты
nil
еслиviewController
не дочерний элемент контроллера представления разделения.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
splitViewItems splitViewItems
СвойствоМассив разделения просматривает элементы, соответствующие дочерним контроллерам представления контроллера представления разделения.
Объявление
Swift
var splitViewItems: [AnyObject]
Objective C
@property(copy) NSArray *splitViewItems
Обсуждение
Установка этого свойства неявно вызывает
insertSplitViewItem:atIndex:
илиremoveSplitViewItem:
метод, как надлежащий, чтобы добавить или удалить разделение просматривает элементы от этого массива.Если Вы добавляете дочерний контроллер представления к контроллеру представления разделения, элемент представления разделения по умолчанию автоматически создается для дочернего контроллера представления и добавляется к
splitViewItems
массив.При удалении дочернего контроллера представления его соответствующий элемент представления разделения удален из
splitViewItems
массив.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
Добавляет элемент представления разделения до конца
splitViewItems
массив разделения просматривает контроллер.Объявление
Swift
func addSplitViewItem(_
splitViewItem
: NSSplitViewItem)Objective C
- (void)addSplitViewItem:(NSSplitViewItem *)
splitViewItem
Обсуждение
Это - удобный метод, который можно использовать, вместо
insertSplitViewItem:atIndex:
метод, когда Вы хотите добавить элемент представления разделения до конца разделения, просматривает массив элементов.) Вызывающий этот метод неявно вызываетinsertSplitViewItem:atIndex:
метод.)Если Вы разделяете на подклассы
NSSplitViewController
класс, не вызывайте этот метод в своем пользовательском объекте для добавления элемента представления разделения. Вместо этого вызовитеinsertSplitViewItem:atIndex:
метод непосредственно.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
Добавляет элемент представления разделения к
splitViewItems
массив разделения просматривает контроллер в указанной индексной позиции.Объявление
Swift
func insertSplitViewItem(_
splitViewItem
: NSSplitViewItem, atIndexindex
: Int)Objective C
- (void)insertSplitViewItem:(NSSplitViewItem *)
splitViewItem
atIndex:(NSInteger)index
Параметры
splitViewItem
index
Индексная позиция в
splitViewItems
массив, в котором можно добавить разделение, просматривает элемент.Обсуждение
Если представление контроллера представления разделения загружается, и добавляемый элемент представления разделения видим, представление контроллера представления элемента представления разделения загружается и добавило к представлению разделения.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.
-
Удаляет указанный элемент представления разделения из контроллера представления разделения.
Объявление
Swift
func removeSplitViewItem(_
splitViewItem
: NSSplitViewItem)Objective C
- (void)removeSplitViewItem:(NSSplitViewItem *)
splitViewItem
Обсуждение
После удаления элемента представления разделения система корректирует расположение представления разделения соответственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.10 и позже.