NSStackView
Представление штабеля использует Автоматическое Расположение (функция расположения системы на основе ограничений), чтобы расположить и выровнять массив представлений согласно Вашей спецификации. Для использования представления штабеля эффективно необходимо понять основы Автоматических Ограничений макета, как описано в Автоматическом Руководстве по Расположению.
Основные характеристики представлений штабеля
Представление штабеля поддерживает вертикальные и горизонтальные макеты и взаимодействует динамично с изменением размеров окна и анимациями Какао. Можно легко реконфигурировать содержание представления штабеля во время выполнения. Т.е. после того, как Вы создадите и сконфигурируете представление штабеля в Интерфейсном Разработчике, можно добавить или удалить представления динамично, явно не работая с ограничениями макета. Например, если Вы конфигурируете представление штабеля с тремя флажками и динамично добавляете одну четверть, представление штабеля автоматически добавляет ограничения по мере необходимости, согласно конфигурации представления штабеля. Новый флажок получает динамическую конфигурацию расположения от представления штабеля.
Используя штабель представление может упростить Ваш код другими способами также. Например, для указания равного интервала для представлений в расположении представления штабеля просто присвойте значение YES
true
к hasEqualSpacing
свойство.
Представления штабеля nestable: представление штабеля является допустимым элементом в views
массив другого представления штабеля.
Направление макета и области силы тяжести
Представление штабеля имеет три так называемых области силы тяжести, что каждый идентифицирует раздел расположения представления штабеля. Горизонтальное представление штабеля, которое является типом по умолчанию, имеет продвижение, центр и запаздывающую область силы тяжести. Упорядочивание этих областей зависит от значения представления штабеля userInterfaceLayoutDirection
свойство (наследованный от NSView
класс). В левом на правильный язык ведущая область силы тяжести в горизонтальном представлении штабеля слева. Для осуществления левого к правильному расположению независимо от языка явно установите направление макета путем вызова наследованного setUserInterfaceLayoutDirection:
метод на Вашем штабеле просматривает экземпляр.
Для указания вертикального макета используйте orientation
свойство и NSUserInterfaceLayoutOrientationVertical
постоянный от перечисления NSUserInterfaceLayoutOrientation. В вертикальном представлении штабеля областями силы тяжести всегда является вершина, центр и нижняя часть.
Отсоединение представления и сокрытие
Представление штабеля может автоматически отсоединить и повторно прикрепить свои представления в ответ на изменения макета, такие как изменение размеров окна, выполняемое пользователем, или изменять размеры/менять местоположение другого представления в той же иерархии представления. Представление в отдельном состоянии не присутствует в иерархии представления представления штабеля, но это все еще использует память.
Чтобы позволить представлениям отсоединяться, установите так называемое сопротивление отсечения для представления штабеля к значению ниже, чем его значение по умолчанию NSLayoutPriorityRequired
. Посмотрите setClippingResistancePriority:forOrientation:
метод.
Можно влиять, какие представления отсоединяются сначала (и повторно прикрепляют в последний раз). Сделайте это путем установки так называемого приоритета видимости для каждого представления, порядок отсоединения которого Вы хотите указать. Представление с более низким приоритетом видимости отсоединяется прежде один с более высоким приоритетом и повторными прикреплениями после него. Посмотрите перечисление NSStackViewVisibilityPriority и setVisibilityPriority:forView:
метод.
Для явного отсоединения представления от представления штабеля вызовите setVisibilityPriority:forView:
метод со значением NSStackViewVisibilityPriorityNotVisible
. Для явного повторного прикрепления представления к представлению штабеля вызовите тот же метод со значением NSStackViewVisibilityPriorityMustHold
. Если Вы скрываете представление, принадлежащее представлению штабеля (путем вызова представления setHidden:
метод со значением YES
true
), представление не отсоединяется от представления штабеля. Это больше не видимо, и это больше не получает входные события, но это остается частью иерархии представления и продолжает участвовать в Автоматическом Расположении.
Системные вызовы метод делегата представления штабеля, когда представление собирается быть отсоединенным и когда представление было повторно прикреплено, дав Вам возможность выполнить код в те времена. Посмотрите Ссылку на протокол NSStackViewDelegate.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSAccessibility
-
NSAccessibilityElementProtocol
-
NSAnimatablePropertyContainer
-
NSAppearanceCustomization
-
NSCoding
-
NSDraggingDestination
-
NSObjectProtocol
-
NSUserInterfaceItemIdentification
-
Печатаемый
-
Reflectable
-
NSAccessibility
-
NSAccessibilityElement
-
NSAnimatablePropertyContainer
-
NSAppearanceCustomization
-
NSCoding
-
NSDraggingDestination
-
NSObject
-
NSUserInterfaceItemIdentification
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.9 и позже.
-
Создает и возвращает представление штабеля с указанным массивом представлений.
Объявление
Swift
convenience init(views
views
: [AnyObject])Objective C
+ (instancetype)stackViewWithViews:(NSArray *)
views
Параметры
views
Массив представлений для нового представления штабеля.
Возвращаемое значение
Представление штабеля инициализируется с указанным массивом представлений.
Обсуждение
Возвращенное представление штабеля имеет направление горизонтального макета и
translatesAutoresizingMaskIntoConstraints
свойство установлено в булево значениеNO
false
. Представления Вы обеспечиваете вviews
параметр помещается в ведущую область силы тяжести представления штабеля.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Указывает массив представлений для указанной области силы тяжести в представлении штабеля, заменяя любые представления, ранее присвоенные области силы тяжести.
Объявление
Swift
func setViews(_
views
: [AnyObject], inGravitygravity
: NSStackViewGravity)Objective C
- (void)setViews:(NSArray *)
views
inGravity:(NSStackViewGravity)gravity
Параметры
views
Массив представлений Вы указываете для области силы тяжести.
gravity
Область силы тяжести, для которой Вы указываете массив представлений. Допустимые значения - те в перечислении NSStackViewGravity, согласно направлению макета представления штабеля.
Обсуждение
Вызов этого метода обновляет расположение представления штабеля, которое может изменить размер представления штабеля. В результате представления могли отсоединить или отсечь согласно сопротивлению отсечения представления штабеля и приоритетам видимости ее представлений.
Представление в отдельном состоянии не присутствует в иерархии представления представления штабеля, но это все еще использует память. Для ответа на отсоединение и прикрепление представлений реализуйте
NSStackViewDelegate
возразите и присвойте егоdelegate
свойство.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
выравнивание выравнивание
СвойствоВыравнивание представления в представлении штабеля.
Обсуждение
Значение по умолчанию для этого свойства зависит от того, является ли представление штабеля горизонталью или вертикальный:
Горизонталь: значение по умолчанию
NSLayoutAttributeCenterY
.Вертикальный: значение по умолчанию
NSLayoutAttributeCenterX
.
Эти константы описаны как часть
NSLayoutAttribute
перечисление в Ссылке класса NSLayoutConstraint; посмотрите, что перечисление для другого возможного выравнивания оценивает.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
ориентация ориентация
СвойствоНаправление горизонтального или вертикального макета представления штабеля.
Объявление
Swift
var orientation: NSUserInterfaceLayoutOrientation
Objective C
@property NSUserInterfaceLayoutOrientation orientation
Обсуждение
Значение по умолчанию
NSUserInterfaceLayoutOrientationHorizontal
. Для значений, применяющихся к этому свойству, посмотрите NSUserInterfaceLayoutOrientation.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Минимальный интервал, в точках, между смежными представлениями в представлении штабеля.
Обсуждение
Представление штабеля использует это свойство для определения минимального расстояния между представлениями в области силы тяжести и между соседними представлениями в смежных областях силы тяжести. Значение по умолчанию для
spacing
свойство8.0
точки.Автоматически прикладные Автоматические Ограничения макета для
spacing
показаны в Таблице 1.Таблица 1Default Автоматические Ограничения макета для интервала представления Ограничение
Значение для ограничительного приоритета
интервал интервью
==
spacing
значение свойствамакс. (
NSLayoutPriorityDefaultHigh
, объятие приоритета)интервал «предает область силы тяжести земле»
==
spacing
значение свойстваобъятие приоритета
интервал интервью
≥
spacing
значение свойстваПервая строка в Таблице 1 указывает, что интервал интервью ограничивается равняться значению
spacing
свойство с приоритетом, по крайней мере,NSLayoutPriorityDefaultHigh
; можно увеличить это путем установки более высокого приоритета объятия представления штабеля сsetHuggingPriority:forOrientation:
метод.Вторая строка в Таблице 1 указывает, что интервал между смежными представлениями в соседних областях силы тяжести ограничивается равняться значению
spacing
свойство с приоритетом приоритета объятия представления штабеля.Третья строка в Таблице 1 указывает, что интервалу интервью позволяют вырасти, чем значение
spacing
свойство с приоритетомNSLayoutPriorityRequired
.В комбинации эти ограничения приводят к следующему типичному поведению представления штабеля: В штабеле просматривают чей
hasEqualSpacing
свойство установлено вNO
false
(значение по умолчанию) и в чьем объятии приоритета оставляютNSLayoutPriorityDefaultLow
(значение по умолчанию), представления в области силы тяжести остаются фиксированным расстоянием друг от друга (равный значениюspacing
свойство), и расстояние между областями силы тяжести растет и уменьшается, когда представление штабеля растет и уменьшается вдоль его оси направления макета. Если Вы устанавливаетеhasEqualSpacing
свойство кYES
true
и используйте приоритет объятия значения по умолчанию, тогда расстояние между всеми смежными представлениями, включая смежные представления в соседних областях силы тяжести, растет и уменьшается, когда представление штабеля растет и уменьшается.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
edgeInsets edgeInsets
СвойствоГеометрическое дополнение в представлении штабеля, окружая его представления, в точках.
Объявление
Swift
var edgeInsets: NSEdgeInsets
Objective C
@property NSEdgeInsets edgeInsets
Обсуждение
Значение по умолчанию
(0, 0, 0, 0)
. Граничные вставки остаются, как они - то, если Вы изменяете значение представления штабеляorientation
свойство или значение его наследованногоuserInterfaceLayoutDirection
свойство.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
hasEqualSpacing hasEqualSpacing
СвойствоБулево значение, указывающее, должен ли интервал между смежными представлениями равняться друг другу.
Объявление
Swift
var hasEqualSpacing: Bool
Objective C
@property BOOL hasEqualSpacing
Обсуждение
Расстояния между смежными представлениями в представлении штабеля или ограничиваются равняться друг другу или устанавливаемый к пользовательским интервалам с помощью
setCustomSpacing:afterView:
метод. Значение по умолчанию дляhasEqualSpacing
свойствоNO
false
, который включает пользовательский интервал. Для требования равного интервала установите это свойство вYES
true
, который отключаетsetCustomSpacing:afterView:
метод.С
hasEqualSpacing
набор кNO
false
(значение по умолчанию), Автоматические Ограничения макета для интервала между представлениями в области силы тяжести находятся как показано в табличной Таблице 1 в описанииspacing
свойство.При указании равного интервала система изменяет эти ограничения на значения показанная в таблице Таблица 2.
Табличные ограничения интервала 2Inter-представления, когда включен равный интервал Ограничение
Значение для ограничительного приоритета
интервал интервью
==
spacing
свойствообъятие приоритета
интервал интервью
≥
spacing
свойствоРавный интервал интервью
Приоритет объятия представления штабеля, идентифицированный как ограничительное значение последовательно 1, имеет значение по умолчанию
NSLayoutPriorityDefaultLow
. Можно скорректировать приоритет объятия при помощиsetHuggingPriority:forOrientation:
метод.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Объект делегата для представления штабеля.
Объявление
Swift
unowned(unsafe) var delegate: NSStackViewDelegate?
Objective C
@property(assign) id< NSStackViewDelegate > delegate
Обсуждение
Системные вызовы метод делегата, когда изменение размеров заставило представление быть отсоединенным от или повторно прикрепленным к представлению штабеля. Для получения дополнительной информации посмотрите Ссылку на протокол NSStackViewDelegate.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Когда Автоматическое Расположение пытается сократить размер представления штабеля, устанавливает Автоматический приоритет Расположения для сопротивления отсечению представлений в представлении штабеля.
Объявление
Swift
func setClippingResistancePriority(_
clippingResistancePriority
: NSLayoutPriority, forOrientationorientation
: NSLayoutConstraintOrientation)Objective C
- (void)setClippingResistancePriority:(NSLayoutPriority)
clippingResistancePriority
forOrientation:(NSLayoutConstraintOrientation)orientation
Параметры
clippingResistancePriority
Сопротивление отсечения Автоматический приоритет Расположения Вы хотите примениться к представлению штабеля для данной оси пользовательского интерфейса. Значение по умолчанию
NSLayoutPriorityRequired
, который запрещает отсечение. Другие допустимые значения - те вNSLayoutPriority
перечисление.orientation
Горизонтальная или вертикальная ось пользовательского интерфейса, которой применяется к приоритет сопротивления отсечения; одна из констант от перечисления NSUserInterfaceLayoutOrientation.
Обсуждение
Отсеченное представление является тем, которое частично скрыто вне границы его представления штабеля включения. Когда Автоматическое Расположение пытается сократить размер представления штабеля (такой как тогда, когда пользователь пытается сократить размер окна включения), заставляя представление больше не соответствовать, представление штабеля отсекает или отсоединяет представление или иначе предотвращает дальнейшее сокращение размера представления штабеля.
Для разрешения отсечения представления установите сопротивление отсечения ниже, чем значение по умолчанию
NSLayoutPriorityRequired
и набор приоритет видимости всех представлений представления штабеля кNSStackViewVisibilityPriorityMustHold
.Гарантировать, чтобы представления отсоединили, а не отсекли, понизили сопротивление отсечения для представления штабеля к значению меньше, чем значение по умолчанию
NSLayoutPriorityRequired
и набор приоритет видимости по крайней мере для одного представления к значению меньше, чемNSStackViewVisibilityPriorityMustHold
.Если Вы запрещаете отсечение представления и запрещаете отсоединение представления, которое является поведением по умолчанию для представления штабеля, Автоматическое Расположение препятствует тому, чтобы представление штабеля было сокращено в размере вне минимума, должен был показать все его представления.
Отсечение начинается с права и нижних сторон представления штабеля.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Устанавливает Автоматический приоритет Расположения для представления штабеля для минимизации его размера, для указанной оси пользовательского интерфейса.
Объявление
Swift
func setHuggingPriority(_
huggingPriority
: NSLayoutPriority, forOrientationorientation
: NSLayoutConstraintOrientation)Objective C
- (void)setHuggingPriority:(NSLayoutPriority)
huggingPriority
forOrientation:(NSLayoutConstraintOrientation)orientation
Параметры
huggingPriority
Автоматический приоритет Расположения для штабеля просматривает для минимизации его размера. Значение по умолчанию
NSLayoutPriorityDefaultLow
. Другие допустимые значения - те вNSLayoutPriority
перечисление.orientation
Горизонтальная или вертикальная ось пользовательского интерфейса, для которой Вы устанавливаете приоритет объятия представления штабеля; одна из констант от перечисления NSUserInterfaceLayoutOrientation.
Для указания объятия горизонтальной оси для любого представления штабеля (использует ли это вертикальный или горизонтальный макет) используйте
NSUserInterfaceLayoutOrientationHorizontal
постоянный.Для указания объятия вертикальной оси для любого представления штабеля (использует ли это вертикальный или горизонтальный макет) используйте
NSUserInterfaceLayoutOrientationVertical
постоянный.
Обсуждение
Этот метод позволяет Вам указать различный приоритет объятия для каждой оси пользовательского интерфейса. Значение по умолчанию для объятия приоритета, на обеих осях пользовательского интерфейса,
NSLayoutPriorityDefaultLow
. Если Вы не добавили, что ограничения между представлением штабеля и его представлением включения, представление штабеля остается как можно меньше, чтобы полностью содержать его представления — независимый от размера представления, содержащего его.Для конфигурирования представления штабеля, чтобы расти и уменьшиться согласно размеру его представления включения добавьте ограничения между представлением штабеля и его представлением включения при помощи Автоматических приоритетов Расположения выше, чем приоритет объятия.
Для конфигурирования представления штабеля, чтобы препятствовать тому, чтобы его представление включения росло, используйте приоритеты для ограничений между представлением штабеля и его представлением включения, которые ниже, чем приоритет объятия.
Значение приоритета объятия также влияет на интервал между представлениями и между областями силы тяжести, как описано в обсуждении для
spacing
свойство.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Добавляет представление к области силы тяжести представления штабеля, в конце области силы тяжести.
Объявление
Swift
func addView(_
aView
: NSView, inGravitygravity
: NSStackViewGravity)Objective C
- (void)addView:(NSView *)
aView
inGravity:(NSStackViewGravity)gravity
Параметры
aView
Представление для добавления к указанной области силы тяжести.
gravity
Область силы тяжести, к которой Вы добавляете указанное представление. Допустимые значения - те в перечислении NSStackViewGravity.
Обсуждение
Расположение недавно добавленного представления зависит от направления макета представления штабеля и, для горизонтального представления штабеля, на языке пользовательского интерфейса:
Горизонталь: недавно добавленное представление появляется в заднем фронте указанной области силы тяжести, как определено значением наследованного
userInterfaceLayoutDirection
свойство представления штабеля. Для левого на правильный язык новое представление появляется в правой стороне области силы тяжести.Вертикальный: недавно добавленное представление появляется у основания указанной области силы тяжести.
Вызов этого метода обновляет расположение представления штабеля, которое может изменить размер представления штабеля. В результате представления могли отсоединить или отсечь согласно сопротивлению отсечения представления штабеля и приоритетам видимости ее представлений.
Представление в отдельном состоянии не присутствует в иерархии представления представления штабеля, но это все еще использует память. Для ответа на отсоединение и прикрепление представлений реализуйте
NSStackViewDelegate
возразите и присвойте егоdelegate
свойство.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Добавляет представление к области силы тяжести представления штабеля в указанной индексной позиции.
Объявление
Swift
func insertView(_
aView
: NSView, atIndexindex
: Int, inGravitygravity
: NSStackViewGravity)Objective C
- (void)insertView:(NSView *)
aView
atIndex:(NSUInteger)index
inGravity:(NSStackViewGravity)gravity
Параметры
aView
Представление для добавления к указанной области силы тяжести.
index
Индексная позиция, в области силы тяжести, для нового представления. Позиция индекса
0
зависит от направления макета представления штабеля и, для горизонтального представления штабеля, на направлении макета интерфейса пользователя:Горизонталь:
0
индекс для области силы тяжести в ведущей стороне, как определено значением наследованногоuserInterfaceLayoutDirection
свойство представления штабеля. Для левого на правильный язык, индекс0
слева от области силы тяжести.Вертикальный:
0
индекс для области силы тяжести наверху.
Посмотрите
userInterfaceLayoutDirection
свойство иsetUserInterfaceLayoutDirection:
метод.gravity
Область силы тяжести, к которой Вы добавляете указанное представление. Допустимые значения - те в перечислении NSStackViewGravity.
Обсуждение
Вызов этого метода обновляет расположение представления штабеля, которое может изменить размер представления штабеля. В результате представления могли отсоединить или отсечь согласно сопротивлению отсечения представления штабеля и приоритетам видимости ее представлений.
Представление в отдельном состоянии не присутствует в иерархии представления представления штабеля, но это все еще использует память. Для ответа на отсоединение и прикрепление представлений реализуйте
NSStackViewDelegate
возразите и присвойте егоdelegate
свойство.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Удаляет указанное представление из представления штабеля.
Обсуждение
Этот метод удаляет представление из представления штабеля, присоединяется ли представление или отсоединяется. Для присоединенного представления только, можно альтернативно вызвать
removeFromSuperview
метод на представлении.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает пользовательский интервал, в точках, между указанным представлением в представлении штабеля и представлением, следующим за ним.
Объявление
Swift
func customSpacingAfterView(_
aView
: NSView) -> CGFloatПараметры
aView
Представление, чье запаздывающий, располагая Вас с интервалами добираются.
Возвращаемое значение
Число очков между задним фронтом указанного представления и тем, следующим за ним (т.е. тот со следующим самым высоким индексным порядком).
Обсуждение
Если Вы устанавливаете пользовательский интервал для представления с помощью
setCustomSpacing:afterView:
метод, это переопределяет значение по умолчанию представления штабеля, располагающее с интервалами, как начатоspacing
свойство.Представление штабеля сохраняет пользовательский интервал через обновления расположения. Пользовательский интервал для представления потерян при удалении представления из штабеля, просматривают или указывают новое значение.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Указывает пользовательский интервал, в точках, для использования между указанным представлением и представлением, следующим за ним в представлении штабеля.
Объявление
Swift
func setCustomSpacing(_
spacing
: CGFloat, afterViewaView
: NSView)Параметры
spacing
Пользовательский конечный пробел для использования между
aView
представление и то, следующее за ним в точках.Значение по умолчанию
NSStackViewSpacingUseDefault
, который указывает, что представление не использует пользовательский интервал.aView
Обсуждение
Когда направление пользовательского интерфейса слева направо, для горизонтального представления штабеля этот метод устанавливает пользовательский интервал между указанным представлением и представлением с его правой стороны от него. (См. наследованный
userInterfaceLayoutDirection
свойство для получения информации о направлении макета.) Для вертикального представления штабеля этот метод устанавливает пользовательский интервал ниже указанного представления.При установке пользовательского интервала для представления он переопределяет значение по умолчанию представления штабеля, располагающее с интервалами для того представления, как начато
spacing
свойство.Представление штабеля сохраняет пользовательский интервал через обновления расположения. Пользовательский интервал для представления потерян при удалении представления из штабеля, просматривают или указывают новое значение.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Возвращает приоритет видимости для указанного представления в представлении штабеля.
Объявление
Swift
func visibilityPriorityForView(_
aView
: NSView) -> NSStackViewVisibilityPriorityObjective C
- (NSStackViewVisibilityPriority)visibilityPriorityForView:(NSView *)
aView
Параметры
aView
Представление, что Вы получаете приоритет видимости для.
Возвращаемое значение
Приоритет видимости для указанного представления.
Обсуждение
Приоритет видимости является Автоматическим приоритетом Расположения для представления, чтобы остаться присоединенным к представлению штабеля, когда Автоматическое Расположение сокращает размер представления штабеля (такой как тогда, когда пользователь сокращает размер окна включения).
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Когда Автоматическое Расположение сокращает размер представления штабеля, устанавливает Автоматический приоритет Расположения для представления, чтобы остаться присоединенным к представлению штабеля.
Объявление
Swift
func setVisibilityPriority(_
priority
: NSStackViewVisibilityPriority, forViewaView
: NSView)Objective C
- (void)setVisibilityPriority:(NSStackViewVisibilityPriority)
priority
forView:(NSView *)aView
Параметры
priority
Приоритет видимости для указанного представления. Допустимые значения - те в перечислении NSStackViewVisibilityPriority.
aView
Обсуждение
Когда Автоматическое Расположение сокращает размер представления штабеля (такой как тогда, когда пользователь сокращает размер окна, содержащего представление штабеля), заставляя одно или более представлений больше не соответствовать, представления отсоединений представления штабеля в порядке увеличивающегося приоритета видимости. Представление с более низкими приоритетными отсоединениями видимости перед представлением с более высоким приоритетом видимости. Ряд представлений с идентичным, отделяемым приоритетом видимости все отсоединен или повторно прикреплен вместе. Представление с максимально возможным приоритетом видимости никогда не отсоединяется.
Представление в отдельном состоянии не присутствует в иерархии представления представления штабеля, но это все еще использует память.
Приоритет видимости по умолчанию для представления
NSStackViewVisibilityPriorityMustHold
, получающийся в представлении, никогда не отсоединяющемся.Чтобы позволить представлению отсоединяться по мере необходимости представлением штабеля, установите приоритет видимости
NSStackViewVisibilityPriorityDetachOnlyIfNecessary
. Чтобы вынудить представление отсоединиться независимо от размера представления включения, установите приоритет видимостиNSStackViewVisibilityPriorityNotVisible
. Для явного повторного прикрепления представления к представлению штабеля установите приоритет видимостиNSStackViewVisibilityPriorityMustHold
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
представления представления
СвойствоМассив представлений принадлежит представлению штабеля. (только для чтения)
Объявление
Swift
var views: [AnyObject] { get }
Objective C
@property(readonly, copy) NSArray *views
Обсуждение
views
массив всегда содержит все представления, принадлежавшие и управляемые представлению штабеля, независимо от их размещения области силы тяжести и независимо от того, присоединяются ли они. Индексная позиция каждого представления в массиве соответствует упорядочивание представления в представлении штабеля. Индексная позиция независимого взгляда является своей позицией представления штабеля, когда присоединено.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает массив представлений в указанной области силы тяжести в представлении штабеля.
Объявление
Swift
func viewsInGravity(_
gravity
: NSStackViewGravity) -> [AnyObject]Objective C
- (NSArray *)viewsInGravity:(NSStackViewGravity)
gravity
Параметры
gravity
Область силы тяжести, массив представления которой Вы хотите получить. Допустимые значения - те в перечислении NSStackViewGravity, согласно направлению макета представления штабеля..
Возвращаемое значение
Массив представлений в указанной области силы тяжести.
Обсуждение
Возвращенный массив содержит все представления в указанной области силы тяжести представления штабеля, независимо от того, присоединяются ли они. Индексная позиция каждого представления в массиве соответствует упорядочивание представления в области силы тяжести. Индексная позиция независимого взгляда является своей позицией области силы тяжести, когда присоединено.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
detachedViews detachedViews
СвойствоМассив, содержащий независимые взгляды от всех областей силы тяжести представления штабеля. (только для чтения)
Объявление
Swift
var detachedViews: [AnyObject] { get }
Objective C
@property(readonly, copy) NSArray *detachedViews
Обсуждение
Представление в отдельном состоянии не присутствует в иерархии представления представления штабеля, но это все еще использует память.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Когда Автоматическое Расположение пытается сократить размер представления штабеля, возвращает Автоматический приоритет Расположения для сопротивления отсечению представлений в представлении штабеля.
Объявление
Swift
func clippingResistancePriorityForOrientation(_
orientation
: NSLayoutConstraintOrientation) -> NSLayoutPriorityObjective C
- (NSLayoutPriority)clippingResistancePriorityForOrientation:(NSLayoutConstraintOrientation)
orientation
Параметры
orientation
Направление макета представления штабеля, к которому применяется приоритет сопротивления отсечения.
Возвращаемое значение
Приоритет ограничения макета, идентифицирующий сопротивление отсечения для представления штабеля.
Обсуждение
Для объяснения отсечения сопротивления и как использовать его для представления штабеля, посмотрите
setClippingResistancePriority:forOrientation:
метод.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает Автоматический приоритет Расположения для представления штабеля для минимизации его размера для адаптации его содержавшим представлениям максимально близко, для указанной оси пользовательского интерфейса.
Объявление
Swift
func huggingPriorityForOrientation(_
orientation
: NSLayoutConstraintOrientation) -> NSLayoutPriorityObjective C
- (NSLayoutPriority)huggingPriorityForOrientation:(NSLayoutConstraintOrientation)
orientation
Параметры
orientation
Ось пользовательского интерфейса (горизонталь или вертикальный), чье объятие приоритета Вы хотите получить от представления штабеля. Допустимые значения - те в перечислении NSUserInterfaceLayoutOrientation.
Возвращаемое значение
Автоматический приоритет Расположения для штабеля просматривает для минимизации его размера.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Два направления макета представления штабеля и, для отсечения сопротивления и объятия приоритета, двух осей пользовательского интерфейса.
Объявление
Swift
enum NSUserInterfaceLayoutOrientation : Int { case Horizontal case Vertical }
Objective C
typedef enum : NSInteger { NSUserInterfaceLayoutOrientationHorizontal = 0, NSUserInterfaceLayoutOrientationVertical = 1 } NSUserInterfaceLayoutOrientation;
Константы
-
Horizontal
NSUserInterfaceLayoutOrientationHorizontal
Для
orientation
свойство, горизонтальный макет для представления штабеля. Для отсечения сопротивления и объятия приоритета, горизонтальной оси пользовательского интерфейса.Продвижение, центр и запаздывающие области силы тяжести в горизонтальном представлении штабеля располагаются слева направо или справа налево в зависимости от значения наследованного
userInterfaceLayoutDirection
свойство.Доступный в OS X v10.9 и позже.
-
Vertical
NSUserInterfaceLayoutOrientationVertical
Для
orientation
свойство, вертикальный макет для представления штабеля. Для отсечения сопротивления и объятия приоритета, вертикальной оси пользовательского интерфейса.Продвижение, центр и запаздывающие области силы тяжести в вертикальном представлении штабеля располагаются от начала до конца.
Доступный в OS X v10.9 и позже.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
-
Различные области силы тяжести, доступные в представлении штабеля.
Объявление
Swift
enum NSStackViewGravity : Int { case Top case Center case Bottom }
Objective C
typedef enum : NSInteger { NSStackViewGravityTop = 1, NSStackViewGravityLeading = 1, NSStackViewGravityCenter = 2, NSStackViewGravityBottom = 3, NSStackViewGravityTrailing = 3 } NSStackViewGravity;
Константы
-
Top
NSStackViewGravityTop
Самая верхняя область силы тяжести в вертикально ориентированном представлении штабеля.
Используйте только когда значение
orientation
свойствоNSUserInterfaceLayoutOrientationVertical
.Доступный в OS X v10.9 и позже.
-
NSStackViewGravityLeading
NSStackViewGravityLeading
Крайняя левая или самая правая область силы тяжести в горизонтально ориентированном штабеле просматривает, в зависимости от языка пользовательского интерфейса или на явно направлении макета интерфейса пользователя аппарата.
Для левого для исправления направления макета ведущая область силы тяжести слева. Используйте только когда значение
orientation
свойствоNSUserInterfaceLayoutOrientationHorizontal
.Доступный в OS X v10.9 и позже.
-
Center
NSStackViewGravityCenter
Центральная область силы тяжести, независимо от штабеля просматривают направление макета и независимо от языка пользовательского интерфейса.
Доступный в OS X v10.9 и позже.
-
Bottom
NSStackViewGravityBottom
Самая нижняя область силы тяжести в вертикально ориентированном представлении штабеля.
Используйте только когда значение
orientation
свойствоNSUserInterfaceLayoutOrientationVertical
.Доступный в OS X v10.9 и позже.
-
NSStackViewGravityTrailing
NSStackViewGravityTrailing
Крайняя левая или самая правая область силы тяжести в горизонтально ориентированном штабеле просматривает, в зависимости от языка пользовательского интерфейса или на явно направлении макета интерфейса пользователя аппарата.
Для левого для исправления направления макета запаздывающая область силы тяжести справа. Используйте только когда значение
orientation
свойствоNSUserInterfaceLayoutOrientationHorizontal
.Доступный в OS X v10.9 и позже.
Обсуждение
Расположение представления штабеля делится в три отличных области, в которые можно поместить представления. Они известны как области силы тяжести. Можно использовать эти константы для конфигурирования представления штабеля посредством
insertView:atIndex:inGravity:
иsetViews:inGravity:
методы.В горизонтально ориентированном представлении штабеля три области силы тяжести
NSStackViewGravityLeading
,NSStackViewGravityCenter
, иNSStackViewGravityTrailing
. Упорядочивание этих областей зависит от языка пользовательского интерфейса, если Вы явно не указали направление макета интерфейса пользователя представления штабеля путем вызова наследованногоsetUserInterfaceLayoutDirection:
метод. Для auserInterfaceLayoutDirection
значение свойстваNSUserInterfaceLayoutDirectionLeftToRight
, ведущая область силы тяжести слева.В вертикально ориентированном представлении штабеля три области силы тяжести всегда
NSStackViewGravityTop
,NSStackViewGravityCenter
, иNSStackViewGravityBottom
.Центральная область силы тяжести ограничивается остаться геометрически центрируемой с Автоматическим приоритетом Расположения
NSLayoutPriorityDefaultLow
. Для получения информации о геометрическом интервале между областями силы тяжести см. описаниеspacing
свойство.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
-
Различные Автоматические приоритеты Расположения для представления в штабеле просматривают, чтобы остаться присоединенными.
Объявление
Swift
typealias NSStackViewVisibilityPriority = Float
Objective C
enum { NSStackViewVisibilityPriorityMustHold = 1000, NSStackViewVisibilityPriorityDetachOnlyIfNecessary = 900, NSStackViewVisibilityPriorityNotVisible = 0 }; typedef float NSStackViewVisibilityPriority;
Константы
-
NSStackViewVisibilityPriorityMustHold
NSStackViewVisibilityPriorityMustHold
Значение по умолчанию и максимальный Автоматический приоритет Расположения, приводящий к представлению, никогда не отсоединяющемуся от представления штабеля.
Доступный в OS X v10.9 через OS X v10.9.
-
NSStackViewVisibilityPriorityDetachOnlyIfNecessary
NSStackViewVisibilityPriorityDetachOnlyIfNecessary
Автоматический приоритет Расположения, приводящий к отсоединению представления, когда существует недостаточное пространство в представлении штабеля для отображения его полностью.
Доступный в OS X v10.9 через OS X v10.9.
-
NSStackViewVisibilityPriorityNotVisible
NSStackViewVisibilityPriorityNotVisible
Минимальный Автоматический приоритет Расположения, вынуждающий представление отсоединиться от представления штабеля.
Доступный в OS X v10.9 через OS X v10.9.
Обсуждение
Для объяснения того, как приоритет видимости взаимодействует с отсечением сопротивления для определения поведения отсоединения штабеля представления представления, посмотрите обсуждения для
setClippingResistancePriority:forOrientation:
иsetVisibilityPriority:forView:
методы.Представление в отдельном состоянии не присутствует в иерархии представления представления штабеля, но это все еще использует память.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.9 и позже.
-
-
Флаг для указания интервала значения по умолчанию после каждого представления в представлении штабеля.
Объявление
Objective C
#define NSStackViewSpacingUseDefault (FLT_MAX)
Константы
-
NSStackViewSpacingUseDefault
NSStackViewSpacingUseDefault
Флаг для указания интервала значения по умолчанию после каждого представления в представлении штабеля.
Доступный в OS X v10.9 через OS X v10.9.
Обсуждение
Для указания пользовательского интервала используйте
setCustomSpacing:afterView:
метод с интервалом Вас хочет в точках. Для явного указания интервала по умолчанию вызовите тот метод с этим флагом. -