NSStackView
Представление штабеля использует Автоматическое Расположение (функция расположения системы на основе ограничений), чтобы расположить и выровнять массив представлений согласно Вашей спецификации. Для использования представления штабеля эффективно необходимо понять основы Автоматических Ограничений макета, как описано в Автоматическом Руководстве по Расположению.
Основные характеристики представлений штабеля
Представление штабеля поддерживает вертикальные и горизонтальные макеты и взаимодействует динамично с изменением размеров окна и анимациями Какао. Можно легко реконфигурировать содержание представления штабеля во время выполнения. Т.е. после того, как Вы создадите и сконфигурируете представление штабеля в Интерфейсном Разработчике, можно добавить или удалить представления динамично, явно не работая с ограничениями макета. Например, если Вы конфигурируете представление штабеля с тремя флажками и динамично добавляете одну четверть, представление штабеля автоматически добавляет ограничения по мере необходимости, согласно конфигурации представления штабеля. Новый флажок получает динамическую конфигурацию расположения от представления штабеля.
Используя штабель представление может упростить Ваш код другими способами также. Например, для указания равного интервала для представлений в расположении представления штабеля просто присвойте значение YEStrue к hasEqualSpacing свойство.
Представления штабеля nestable: представление штабеля является допустимым элементом в views массив другого представления штабеля.
Направление макета и области силы тяжести
Представление штабеля имеет три так называемых области силы тяжести, что каждый идентифицирует раздел расположения представления штабеля. Горизонтальное представление штабеля, которое является типом по умолчанию, имеет продвижение, центр и запаздывающую область силы тяжести. Упорядочивание этих областей зависит от значения представления штабеля userInterfaceLayoutDirection свойство (наследованный от NSView класс). В левом на правильный язык ведущая область силы тяжести в горизонтальном представлении штабеля слева. Для осуществления левого к правильному расположению независимо от языка явно установите направление макета путем вызова наследованного setUserInterfaceLayoutDirection: метод на Вашем штабеле просматривает экземпляр.
Для указания вертикального макета используйте orientation свойство и NSUserInterfaceLayoutOrientationVertical постоянный от перечисления NSUserInterfaceLayoutOrientation. В вертикальном представлении штабеля областями силы тяжести всегда является вершина, центр и нижняя часть.
Отсоединение представления и сокрытие
Представление штабеля может автоматически отсоединить и повторно прикрепить свои представления в ответ на изменения макета, такие как изменение размеров окна, выполняемое пользователем, или изменять размеры/менять местоположение другого представления в той же иерархии представления. Представление в отдельном состоянии не присутствует в иерархии представления представления штабеля, но это все еще использует память.
Чтобы позволить представлениям отсоединяться, установите так называемое сопротивление отсечения для представления штабеля к значению ниже, чем его значение по умолчанию NSLayoutPriorityRequired. Посмотрите setClippingResistancePriority:forOrientation: метод.
Можно влиять, какие представления отсоединяются сначала (и повторно прикрепляют в последний раз). Сделайте это путем установки так называемого приоритета видимости для каждого представления, порядок отсоединения которого Вы хотите указать. Представление с более низким приоритетом видимости отсоединяется прежде один с более высоким приоритетом и повторными прикреплениями после него. Посмотрите перечисление NSStackViewVisibilityPriority и setVisibilityPriority:forView: метод.
Для явного отсоединения представления от представления штабеля вызовите setVisibilityPriority:forView: метод со значением NSStackViewVisibilityPriorityNotVisible. Для явного повторного прикрепления представления к представлению штабеля вызовите тот же метод со значением NSStackViewVisibilityPriorityMustHold. Если Вы скрываете представление, принадлежащее представлению штабеля (путем вызова представления setHidden: метод со значением YEStrue), представление не отсоединяется от представления штабеля. Это больше не видимо, и это больше не получает входные события, но это остается частью иерархии представления и продолжает участвовать в Автоматическом Расположении.
Системные вызовы метод делегата представления штабеля, когда представление собирается быть отсоединенным и когда представление было повторно прикреплено, дав Вам возможность выполнить код в те времена. Посмотрите Ссылку на протокол 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(viewsviews: [AnyObject])Objective C
+ (instancetype)stackViewWithViews:(NSArray *)viewsПараметры
viewsМассив представлений для нового представления штабеля.
Возвращаемое значение
Представление штабеля инициализируется с указанным массивом представлений.
Обсуждение
Возвращенное представление штабеля имеет направление горизонтального макета и
translatesAutoresizingMaskIntoConstraintsсвойство установлено в булево значениеNOfalse. Представления Вы обеспечиваете вviewsпараметр помещается в ведущую область силы тяжести представления штабеля.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.9 и позже.
-
Указывает массив представлений для указанной области силы тяжести в представлении штабеля, заменяя любые представления, ранее присвоенные области силы тяжести.
Объявление
Swift
func setViews(_views: [AnyObject], inGravitygravity: NSStackViewGravity)Objective C
- (void)setViews:(NSArray *)viewsinGravity:(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: NSUserInterfaceLayoutOrientationObjective 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свойство установлено вNOfalse(значение по умолчанию) и в чьем объятии приоритета оставляютNSLayoutPriorityDefaultLow(значение по умолчанию), представления в области силы тяжести остаются фиксированным расстоянием друг от друга (равный значениюspacingсвойство), и расстояние между областями силы тяжести растет и уменьшается, когда представление штабеля растет и уменьшается вдоль его оси направления макета. Если Вы устанавливаетеhasEqualSpacingсвойство кYEStrueи используйте приоритет объятия значения по умолчанию, тогда расстояние между всеми смежными представлениями, включая смежные представления в соседних областях силы тяжести, растет и уменьшается, когда представление штабеля растет и уменьшается.Оператор импорта
Objective C
@import AppKit;Swift
import AppKitДоступность
Доступный в OS X v10.9 и позже.
-
edgeInsets edgeInsetsСвойствоГеометрическое дополнение в представлении штабеля, окружая его представления, в точках.
Объявление
Swift
var edgeInsets: NSEdgeInsetsObjective 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: BoolObjective C
@property BOOL hasEqualSpacingОбсуждение
Расстояния между смежными представлениями в представлении штабеля или ограничиваются равняться друг другу или устанавливаемый к пользовательским интервалам с помощью
setCustomSpacing:afterView:метод. Значение по умолчанию дляhasEqualSpacingсвойствоNOfalse, который включает пользовательский интервал. Для требования равного интервала установите это свойство вYEStrue, который отключаетsetCustomSpacing:afterView:метод.С
hasEqualSpacingнабор кNOfalse(значение по умолчанию), Автоматические Ограничения макета для интервала между представлениями в области силы тяжести находятся как показано в табличной Таблице 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)clippingResistancePriorityforOrientation:(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)huggingPriorityforOrientation:(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 *)aViewinGravity:(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 *)aViewatIndex:(NSUInteger)indexinGravity:(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)priorityforView:(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;Константы
-
HorizontalNSUserInterfaceLayoutOrientationHorizontalДля
orientationсвойство, горизонтальный макет для представления штабеля. Для отсечения сопротивления и объятия приоритета, горизонтальной оси пользовательского интерфейса.Продвижение, центр и запаздывающие области силы тяжести в горизонтальном представлении штабеля располагаются слева направо или справа налево в зависимости от значения наследованного
userInterfaceLayoutDirectionсвойство.Доступный в OS X v10.9 и позже.
-
VerticalNSUserInterfaceLayoutOrientationVerticalДля
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;Константы
-
TopNSStackViewGravityTopСамая верхняя область силы тяжести в вертикально ориентированном представлении штабеля.
Используйте только когда значение
orientationсвойствоNSUserInterfaceLayoutOrientationVertical.Доступный в OS X v10.9 и позже.
-
NSStackViewGravityLeadingNSStackViewGravityLeadingКрайняя левая или самая правая область силы тяжести в горизонтально ориентированном штабеле просматривает, в зависимости от языка пользовательского интерфейса или на явно направлении макета интерфейса пользователя аппарата.
Для левого для исправления направления макета ведущая область силы тяжести слева. Используйте только когда значение
orientationсвойствоNSUserInterfaceLayoutOrientationHorizontal.Доступный в OS X v10.9 и позже.
-
CenterNSStackViewGravityCenterЦентральная область силы тяжести, независимо от штабеля просматривают направление макета и независимо от языка пользовательского интерфейса.
Доступный в OS X v10.9 и позже.
-
BottomNSStackViewGravityBottomСамая нижняя область силы тяжести в вертикально ориентированном представлении штабеля.
Используйте только когда значение
orientationсвойствоNSUserInterfaceLayoutOrientationVertical.Доступный в OS X v10.9 и позже.
-
NSStackViewGravityTrailingNSStackViewGravityTrailingКрайняя левая или самая правая область силы тяжести в горизонтально ориентированном штабеле просматривает, в зависимости от языка пользовательского интерфейса или на явно направлении макета интерфейса пользователя аппарата.
Для левого для исправления направления макета запаздывающая область силы тяжести справа. Используйте только когда значение
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 = FloatObjective C
enum { NSStackViewVisibilityPriorityMustHold = 1000, NSStackViewVisibilityPriorityDetachOnlyIfNecessary = 900, NSStackViewVisibilityPriorityNotVisible = 0 }; typedef float NSStackViewVisibilityPriority;Константы
-
NSStackViewVisibilityPriorityMustHoldNSStackViewVisibilityPriorityMustHoldЗначение по умолчанию и максимальный Автоматический приоритет Расположения, приводящий к представлению, никогда не отсоединяющемуся от представления штабеля.
Доступный в OS X v10.9 через OS X v10.9.
-
NSStackViewVisibilityPriorityDetachOnlyIfNecessaryNSStackViewVisibilityPriorityDetachOnlyIfNecessaryАвтоматический приоритет Расположения, приводящий к отсоединению представления, когда существует недостаточное пространство в представлении штабеля для отображения его полностью.
Доступный в OS X v10.9 через OS X v10.9.
-
NSStackViewVisibilityPriorityNotVisibleNSStackViewVisibilityPriorityNotVisibleМинимальный Автоматический приоритет Расположения, вынуждающий представление отсоединиться от представления штабеля.
Доступный в 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)Константы
-
NSStackViewSpacingUseDefaultNSStackViewSpacingUseDefaultФлаг для указания интервала значения по умолчанию после каждого представления в представлении штабеля.
Доступный в OS X v10.9 через OS X v10.9.
Обсуждение
Для указания пользовательского интервала используйте
setCustomSpacing:afterView:метод с интервалом Вас хочет в точках. Для явного указания интервала по умолчанию вызовите тот метод с этим флагом. -
