NSSplitViewDelegate
NSSplitViewDelegate
протокол определяет дополнительные методы, реализованные делегатами NSSplitView
объекты.
Наследование
Не применимый
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.6 и позже.
-
Позволяет делегату указывать пользовательское поведение калибровки для подпредставлений NSSplitView
sender
.Объявление
Swift
optional func splitView(_
splitView
: NSSplitView, resizeSubviewsWithOldSizeoldSize
: NSSize)Objective C
- (void)splitView:(NSSplitView *)
splitView
resizeSubviewsWithOldSize:(NSSize)oldSize
Параметры
splitView
Представление разделения, отправившее сообщение.
oldSize
Размер представления разделения перед пользователем изменил размеры его.
Обсуждение
Если делегат реализует этот метод,
splitView:resizeSubviewsWithOldSize:
вызывается после того, как представление разделения изменено.Подпредставления должны быть изменены таким образом, что сумма размеров подпредставлений плюс сумма толщины делителей равняется размеру нового кадра NSSplitView. Можно передать толщину делителя
dividerThickness
метод.Обратите внимание на то, что при реализации этого метода делегата изменить размеры подпредставлений самостоятельно NSSplitView не выполняет проверки ошибок на Вас. Однако можно вызвать
adjustSubviews
выполнять поведение калибровки значения по умолчанию.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
См. также
– adjustSubviews
(NSSplitView)– setFrame:
(NSView) -
Вызванный уведомлением по умолчанию центрируются, чтобы уведомить делегата, что splitview изменит размеры своих подпредставлений.
Объявление
Swift
optional func splitViewWillResizeSubviews(_
aNotification
: NSNotification)Objective C
- (void)splitViewWillResizeSubviews:(NSNotification *)
aNotification
Параметры
aNotification
Уведомление называют
NSSplitViewWillResizeSubviewsNotification
.Обсуждение
Если делегат реализует этот метод, делегат автоматически регистрируется для получения этого уведомления.
Этот метод вызывается, прежде чем представление разделения изменяет размеры двух из своих подпредставлений в ответ на то, чтобы менять местоположение делителя.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
Вызванный уведомлением по умолчанию центрируются, чтобы уведомить делегата, что splitview действительно изменял размеры своих подпредставлений.
Объявление
Swift
optional func splitViewDidResizeSubviews(_
aNotification
: NSNotification)Objective C
- (void)splitViewDidResizeSubviews:(NSNotification *)
aNotification
Параметры
aNotification
Уведомление называют
NSSplitViewDidResizeSubviewsNotification
.Обсуждение
Если делегат реализует этот метод, делегат автоматически регистрируется для получения этого уведомления.
Этот метод вызывается после того, как представление разделения изменяет размеры двух из своих подпредставлений в ответ на то, чтобы менять местоположение делителя.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
Позволяет делегату определять, может ли пользователь упасть в обморок и не упасть в обморок
subview
.Объявление
Swift
optional func splitView(_
splitView
: NSSplitView, canCollapseSubviewsubview
: NSView) -> BoolObjective C
- (BOOL)splitView:(NSSplitView *)
splitView
canCollapseSubview:(NSView *)subview
Параметры
splitView
Представление разделения, отправившее сообщение.
subview
Подпредставление для разрушений.
Возвращаемое значение
YES
true
еслиsubview
когда пользователь перетаскивает делитель вне промежуточной метки между ее минимальным размером и ее краем, иначе, должен разрушитьсяNO
false
.Обсуждение
subview
некрах, когда пользователь перетаскивает делитель назад вне промежуточной метки между ее минимальным размером и ее краем.Для указания минимального размера определите методы
splitView:constrainMaxCoordinate:ofSubviewAt:
иsplitView:constrainMinCoordinate:ofSubviewAt:
. Подпредставление может разрушиться, только если Вы также определяетеsplitView:constrainMinCoordinate:ofSubviewAt:
.Разрушенное подпредставление скрыто, но сохраняется объектом представления разделения с тем же размером, который это имело, прежде чем это было разрушено.
Если делегат не реализует этот метод, подпредставления не могут быть разрушены.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
splitView (_: shouldCollapseSubview:forDoubleClickOnDividerAtIndex:) - splitView:shouldCollapseSubview:forDoubleClickOnDividerAtIndex:
Вызванный, чтобы позволить делегату определять, должно ли подпредставление разрушиться в ответ на двойной щелчок.
Объявление
Swift
optional func splitView(_
splitView
: NSSplitView, shouldCollapseSubviewsubview
: NSView, forDoubleClickOnDividerAtIndexdividerIndex
: Int) -> BoolObjective C
- (BOOL)splitView:(NSSplitView *)
splitView
shouldCollapseSubview:(NSView *)subview
forDoubleClickOnDividerAtIndex:(NSInteger)dividerIndex
Параметры
splitView
Представление разделения, отправившее сообщение.
subview
Подпредставление для разрушений.
dividerIndex
Индекс делителя.
Возвращаемое значение
YES
true
если подпредставление должно разрушиться,NO
false
иначе.Обсуждение
Если реализовано, делегат получит это сообщение один раз для подпредставления перед делителем, когда пользователь дважды щелкнет по тому делителю, и снова для подпредставления после делителя, но только если возвратился делегат
YES
true
когда отправленоsplitView:canCollapseSubview:
для рассматриваемого подпредставления. То, когда делегат указывает, что оба подпредставления должны быть, разрушилось, поведение NSSplitView не определено.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
Позволяет делегату указывать, должно ли быть изменено подпредставление.
Объявление
Swift
optional func splitView(_
splitView
: NSSplitView, shouldAdjustSizeOfSubviewsubview
: NSView) -> BoolObjective C
- (BOOL)splitView:(NSSplitView *)
splitView
shouldAdjustSizeOfSubview:(NSView *)subview
Параметры
splitView
Представление разделения, отправившее сообщение.
subview
Подпредставление для изменения размеров.
Возвращаемое значение
YES
true
если adjustSubviews может изменить размер подпредставления, иначеNO
false
. Путем возвратаNO
false
, Вы блокируете размер представления разделенияsubview
в то время как изменено представление разделения.Обсуждение
Независимо от значения, возвращенного этим методом,
adjustSubviews
может изменить источник подпредставления. Иначе подпредставления неизменяемого размера могут также быть изменены для предотвращения недопустимого расположения подпредставления.Если представление разделения не имеет никакого делегата, или если его делегат не реагирует на это сообщение, представление разделения ведет себя, как будто возвращается этот метод
YES
true
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.6 и позже.
-
splitView (_: effectiveRect:forDrawnRect:ofDividerAtIndex:) - splitView:effectiveRect:forDrawnRect:ofDividerAtIndex:
Позволяет делегату изменять прямоугольник, в котором щелчки мышью инициируют перетаскивание делителя.
Объявление
Swift
optional func splitView(_
splitView
: NSSplitView, effectiveRectproposedEffectiveRect
: NSRect, forDrawnRectdrawnRect
: NSRect, ofDividerAtIndexdividerIndex
: Int) -> NSRectObjective C
- (NSRect)splitView:(NSSplitView *)
splitView
effectiveRect:(NSRect)proposedEffectiveRect
forDrawnRect:(NSRect)drawnRect
ofDividerAtIndex:(NSInteger)dividerIndex
Параметры
splitView
Представление разделения, отправившее сообщение.
proposedEffectiveRect
Предложенный прямоугольник, в котором щелчки мышью должны инициировать перетаскивание делителя. Прямоугольник выражен в системе координат, определенной
splitView
.drawnRect
Кадр делителя, выраженного в системе координат, определенной
splitView
.dividerIndex
Индекс делителя.
Возвращаемое значение
Прямоугольник, в котором щелчки мышью должны инициировать перетаскивание делителя. Прямоугольник должен быть выражен в системе координат, определенной
splitView
.Обсуждение
Представление разделения с толстыми делителями предлагает нарисованный кадр как эффективный кадр. Представление разделения с тонкими делителями предлагает эффективный кадр, это немного больше, чем нарисованный кадр, чтобы упростить для пользователя фактически захватывать делитель.
Если представление разделения не имеет никакого делегата, или если его делегат не реагирует на это сообщение, представление разделения ведет себя, как будто это имеет возвращающегося делегата
proposedEffectiveRect
когда отправлено это сообщение.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
Позволяет делегату определять, может ли делитель быть перетащен или скорректирован от края представления разделения.
Объявление
Swift
optional func splitView(_
splitView
: NSSplitView, shouldHideDividerAtIndexdividerIndex
: Int) -> BoolObjective C
- (BOOL)splitView:(NSSplitView *)
splitView
shouldHideDividerAtIndex:(NSInteger)dividerIndex
Параметры
splitView
Представление разделения, отправившее сообщение.
dividerIndex
Основанный на нуле индекс делителя.
Возвращаемое значение
YES
true
если делитель должен позволить перетаскивать от края представления разделения, приведя к нему не быть видимым.Обсуждение
Если представление разделения не имеет никакого делегата, или если его делегат не реагирует на это сообщение, представление разделения ведет себя, как будто это имеет возвращающегося делегата
NO
false
когда отправлено это сообщение.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
splitView (_: additionalEffectiveRectOfDividerAtIndex:) - splitView:additionalEffectiveRectOfDividerAtIndex:
Позволяет делегату возвращать дополнительный прямоугольник, в котором щелчки мышью будут инициировать перетаскивание делителя.
Объявление
Swift
optional func splitView(_
splitView
: NSSplitView, additionalEffectiveRectOfDividerAtIndexdividerIndex
: Int) -> NSRectObjective C
- (NSRect)splitView:(NSSplitView *)
splitView
additionalEffectiveRectOfDividerAtIndex:(NSInteger)dividerIndex
Параметры
splitView
Представление разделения, отправившее сообщение.
dividerIndex
Индекс делителя.
Возвращаемое значение
Дополнительный прямоугольник, в котором щелчки мышью должны инициировать перетаскивание делителя. Прямоугольник должен быть выражен в системе координат, определенной
splitView
. ВозвратNSZeroRect
указывает, что не желаем никакой дополнительный прямоугольник перетаскивания.Обсуждение
Если представление разделения не имеет никакого делегата, или если его делегат не реагирует на это сообщение, только щелчки мышью в эффективном кадре делителя инициируют перетаскивание делителя.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.5 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
-
Позволяет делегату к
sender
ограничить максимальный координатный предел делителя, когда пользователь перетаскивает его.Объявление
Swift
optional func splitView(_
splitView
: NSSplitView, constrainMaxCoordinateproposedMax
: CGFloat, ofSubviewAtdividerIndex
: Int) -> CGFloatObjective C
- (CGFloat)splitView:(NSSplitView *)
splitView
constrainMaxCoordinate:(CGFloat)proposedMax
ofSubviewAt:(NSInteger)dividerIndex
Параметры
splitView
Представление разделения, отправившее сообщение.
proposedMax
Предложенный максимальный координатный предел подпредставления, в зеркально отраженной системе координат представления разделения.
dividerIndex
Указывает делитель, который пользователь перемещает с первым делителем, являющимся 0 и увеличивающимся сверху донизу (или слева направо).
Возвращаемое значение
Максимальный координатный предел делителя.
Обсуждение
Этот метод вызывается, прежде чем представление разделения начинает отслеживать мышь для расположения делителя. Можно далее ограничить пределы, уже установленные, но Вы не можете расширить пределы делителя.
Если линии разбивки являются горизонталью (представления один поверх другого),
proposedMax
нижний предел. Если линии разбивки являются вертикальными (представления рядом),proposedMax
правильный предел. Начальное значениеproposedMax
нижняя часть (или правая сторона) подпредставления после делителя.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
См. также
– isVertical
(NSSplitView) -
Позволяет делегату к
sender
ограничить минимальный координатный предел делителя, когда пользователь перетаскивает его.Объявление
Swift
optional func splitView(_
splitView
: NSSplitView, constrainMinCoordinateproposedMin
: CGFloat, ofSubviewAtdividerIndex
: Int) -> CGFloatObjective C
- (CGFloat)splitView:(NSSplitView *)
splitView
constrainMinCoordinate:(CGFloat)proposedMin
ofSubviewAt:(NSInteger)dividerIndex
Параметры
splitView
Представление разделения, отправившее сообщение.
proposedMin
Предложенный минимальный координатный предел подпредставления, в зеркально отраженной системе координат представления разделения.
dividerIndex
Указывает делитель, который пользователь перемещает с первым делителем, являющимся 0 и увеличивающимся сверху донизу (или слева направо).
Возвращаемое значение
Минимальный координатный предел делителя.
Обсуждение
Этот метод вызывается, прежде чем представление разделения начинает отслеживать курсор для расположения делителя. Можно далее ограничить пределы, уже установленные, но Вы не можете расширить пределы делителя.
Если линии разбивки являются горизонталью (представления один поверх другого),
proposedMin
верхний предел. Если линии разбивки являются вертикальными (представления рядом),proposedMin
левый предел. Начальное значениеproposedMin
вершина (или левая сторона) подпредставления перед делителем.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Доступный как часть неофициального протокола до OS X v10.6.
См. также
– isVertical
(NSSplitView) -
Позволяет делегату к
sender
ограничить делитель к определенным позициям.Объявление
Swift
optional func splitView(_
splitView
: NSSplitView, constrainSplitPositionproposedPosition
: CGFloat, ofSubviewAtdividerIndex
: Int) -> CGFloatObjective C
- (CGFloat)splitView:(NSSplitView *)
splitView
constrainSplitPosition:(CGFloat)proposedPosition
ofSubviewAt:(NSInteger)dividerIndex
Параметры
splitView
Представление разделения, отправившее сообщение.
proposedPosition
Текущая позиция курсора и предложенная позиция делителя.
dividerIndex
Указывает делитель, который пользователь перемещает с первым делителем, являющимся 0 и увеличивающимся сверху донизу (или слева направо).
Возвращаемое значение
Позиция, в которой можно ограничить делитель.
Обсуждение
Если делегат реализует этот метод, представление разделения неоднократно вызывает его, поскольку пользователь перемещает делитель.
Например, если высота подпредставления должна быть кратным числом определенного числа, используйте этот метод для возврата кратного числа, самого близкого
proposedPosition
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
Доступный как часть неофициального протокола до OS X v10.6.