Instance Property


A Boolean value that indicates whether the spacing between adjacent views should equal each other.


var hasEqualSpacing: Bool { get set }


The distances between adjacent views in a stack view are either constrained to equal each other or settable to custom spacings using the setCustomSpacing(_:after:) method. The default value for the hasEqualSpacing property is false, which enables custom spacing. To require equal spacing, set this property to true, which disables the setCustomSpacing(_:after:) method.

With hasEqualSpacing set to false (the default), the Auto Layout constraints for spacing between views in a gravity area are as shown in table Table 1, in the description of the spacing property.

If you specify equal spacing, the system changes these constraints to the values shown in table Table 1.

Table 1

Inter-view spacing constraints when equal spacing is enabled


Value for constraint priority

inter-view spacing == the spacing property

hugging priority

inter-view spacing the spacing property


Equal inter-view spacing


Stack view hugging priority, identified as the constraint value in row 1, has the default valueNSLayoutPriorityDefaultLow. You can adjust hugging priority by using the setHuggingPriority(_:for:) method.

See Also

Configuring the Stack View Layout

var orientation: NSUserInterfaceLayoutOrientation

The horizontal or vertical layout direction of the stack view.

enum NSUserInterfaceLayoutOrientation

The two stack view layout directions and, for clipping resistance and hugging priority, the two user interface axes.

var alignment: NSLayoutConstraint.Attribute

The view alignment within the stack view.

var spacing: CGFloat

The minimum spacing, in points, between adjacent views in the stack view.

var edgeInsets: NSEdgeInsets

The geometric padding inside the stack view, surrounding its views, in points.