Constrainable

public protocol Constrainable

Constrainable is an abstraction of Apple layout anchor system

  • A layout anchor abstraction representing the top edge of the view or layout guide frame.

    Declaration

    Swift

    var topAnchor: NSLayoutYAxisAnchor { get }
  • A layout anchor abstraction representing the bottom edge of the view or layout guide frame.

    Declaration

    Swift

    var bottomAnchor: NSLayoutYAxisAnchor { get }
  • A layout anchor abstraction representing the leading edge of the view or layout guide frame.

    Declaration

    Swift

    var leadingAnchor: NSLayoutXAxisAnchor { get }
  • A layout anchor abstraction representing the left edge of the view or layout guide frame.

    Declaration

    Swift

    var leftAnchor: NSLayoutXAxisAnchor { get }
  • A layout anchor abstraction representing the trailing edge of the view or layout guide frame.

    Declaration

    Swift

    var trailingAnchor: NSLayoutXAxisAnchor { get }
  • A layout anchor abstraction representing the right edge of the view or layout guide frame.

    Declaration

    Swift

    var rightAnchor: NSLayoutXAxisAnchor { get }
  • A layout anchor abstraction representing the height of the view or layout guide frame.

    Declaration

    Swift

    var heightAnchor: NSLayoutDimension { get }
  • A layout anchor abstraction representing the width of the view or layout guide frame.

    Declaration

    Swift

    var widthAnchor: NSLayoutDimension { get }
  • A layout anchor abstraction representing the horizontal center of the view or layout guide frame.

    Declaration

    Swift

    var centerXAnchor: NSLayoutXAxisAnchor { get }
  • A layout anchor abstraction representing the vertical center of the view or layout guide frame.

    Declaration

    Swift

    var centerYAnchor: NSLayoutYAxisAnchor { get }
  • A layout anchor representing the top edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func topAnchor(equalTo anchor: NSLayoutYAxisAnchor,
                   constant: CGFloat = 0,
                   priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    equalTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the top edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func topAnchor(greaterThanOrEqualTo anchor: NSLayoutYAxisAnchor,
                   constant: CGFloat = 0,
                   priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    greaterThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the top edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func topAnchor(lessThanOrEqualTo anchor: NSLayoutYAxisAnchor,
                   constant: CGFloat = 0,
                   priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    lessThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the bottom edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func bottomAnchor(equalTo anchor: NSLayoutYAxisAnchor,
                      constant: CGFloat = 0,
                      priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    equalTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the bottom edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func bottomAnchor(greaterThanOrEqualTo anchor: NSLayoutYAxisAnchor,
                      constant: CGFloat = 0,
                      priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    greaterThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the bottom edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func bottomAnchor(lessThanOrEqualTo anchor: NSLayoutYAxisAnchor,
                      constant: CGFloat = 0,
                      priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    lessThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the leading edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func leadingAnchor(equalTo anchor: NSLayoutXAxisAnchor,
                       constant: CGFloat = 0,
                       priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    equalTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the leading edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func leadingAnchor(greaterThanOrEqualTo anchor: NSLayoutXAxisAnchor,
                       constant: CGFloat = 0,
                       priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    greaterThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the leading edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func leadingAnchor(lessThanOrEqualTo anchor: NSLayoutXAxisAnchor,
                       constant: CGFloat = 0,
                       priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    lessThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the left edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func leftAnchor(equalTo anchor: NSLayoutXAxisAnchor,
                    constant: CGFloat = 0,
                    priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    equalTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the left edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func leftAnchor(greaterThanOrEqualTo anchor: NSLayoutXAxisAnchor,
                    constant: CGFloat = 0,
                    priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    greaterThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the left edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func leftAnchor(lessThanOrEqualTo anchor: NSLayoutXAxisAnchor,
                    constant: CGFloat = 0,
                    priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    lessThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the trailing edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func trailingAnchor(equalTo anchor: NSLayoutXAxisAnchor,
                        constant: CGFloat = 0,
                        priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    equalTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the trailing edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func trailingAnchor(greaterThanOrEqualTo anchor: NSLayoutXAxisAnchor,
                        constant: CGFloat = 0,
                        priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    greaterThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the trailing edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func trailingAnchor(lessThanOrEqualTo anchor: NSLayoutXAxisAnchor,
                        constant: CGFloat = 0,
                        priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    lessThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the right edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func rightAnchor(equalTo anchor: NSLayoutXAxisAnchor,
                     constant: CGFloat = 0,
                     priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    equalTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the right edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func rightAnchor(greaterThanOrEqualTo anchor: NSLayoutXAxisAnchor,
                     constant: CGFloat = 0,
                     priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    greaterThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the right edge of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func rightAnchor(lessThanOrEqualTo anchor: NSLayoutXAxisAnchor,
                     constant: CGFloat = 0,
                     priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    lessThanOrEqualTo

    Vertical layout constraint.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the height of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func heightAnchor(equalToConstant height: CGFloat,
                      priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    equalToConstant

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the height of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func heightAnchor(greaterThanOrEqualToConstant height: CGFloat,
                      priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    greaterThanOrEqualToConstant

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the height of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func heightAnchor(lessThanOrEqualToConstant height: CGFloat,
                      priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    lessThanOrEqualToConstant

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the height of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func heightAnchor(equalTo layoutDimension: NSLayoutDimension,
                      priority: LayoutPriority = .required,
                      multiplier: CGFloat = 1.0) -> NSLayoutConstraint

    Parameters

    equalTo

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    multiplier

    The multiplier constant for the constraint.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the height of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func heightAnchor(lessThanOrEqualTo layoutDimension: NSLayoutDimension,
                      priority: LayoutPriority = .required,
                      multiplier: CGFloat = 1.0) -> NSLayoutConstraint

    Parameters

    lessThanOrEqualTo

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    multiplier

    The multiplier constant for the constraint.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the height of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func heightAnchor(greaterThanOrEqualTo layoutDimension: NSLayoutDimension,
                      priority: LayoutPriority = .required,
                      multiplier: CGFloat = 1.0) -> NSLayoutConstraint

    Parameters

    greaterThanOrEqualTo

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    multiplier

    The multiplier constant for the constraint.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the width of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func widthAnchor(equalToConstant width: CGFloat,
                     priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    equalToConstant

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the width of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func widthAnchor(greaterThanOrEqualToConstant width: CGFloat,
                     priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    greaterThanOrEqualToConstant

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the width of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func widthAnchor(lessThanOrEqualToConstant width: CGFloat,
                     priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    lessThanOrEqualToConstant

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the width of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func widthAnchor(equalTo layoutDimension: NSLayoutDimension,
                     priority: LayoutPriority = .required,
                     multiplier: CGFloat = 1.0) -> NSLayoutConstraint

    Parameters

    equalTo

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    multiplier

    The multiplier constant for the constraint.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the width of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func widthAnchor(lessThanOrEqualTo layoutDimension: NSLayoutDimension,
                     priority: LayoutPriority = .required,
                     multiplier: CGFloat = 1.0) -> NSLayoutConstraint

    Parameters

    lessThanOrEqualTo

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    multiplier

    The multiplier constant for the constraint.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the width of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func widthAnchor(greaterThanOrEqualTo layoutDimension: NSLayoutDimension,
                     priority: LayoutPriority = .required,
                     multiplier: CGFloat = 1.0) -> NSLayoutConstraint

    Parameters

    greaterThanOrEqualTo

    A constant representing the size of the attribute associated with this dimension anchor.

    priority

    Layout priority used to indicate the constraint-based layout system.

    multiplier

    The multiplier constant for the constraint.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the horizontal center of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func centerXAnchor(equalTo anchor: NSLayoutXAxisAnchor,
                       constant: CGFloat = 0,
                       priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    equalTo

    A constant representing the size of the attribute associated with this dimension anchor.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • A layout anchor representing the vertical center of the view’s frame.

    Declaration

    Swift

    @discardableResult
    func centerYAnchor(equalTo anchor: NSLayoutYAxisAnchor,
                       constant: CGFloat = 0,
                       priority: LayoutPriority = .required) -> NSLayoutConstraint

    Parameters

    equalTo

    A constant representing the size of the attribute associated with this dimension anchor.

    constant

    The constant offset for the constraint.

    priority

    Layout priority used to indicate the constraint-based layout system.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.

  • inset(to:withInset:) Extension method

    A layout anchor to set inset distances for views.

    Declaration

    Swift

    @discardableResult
    func inset(to view: View, withInset inset: EdgeInsets? = nil) -> [NSLayoutConstraint]

    Parameters

    to

    The target View to apply the edge insets.

    withInset

    Adjusts a rectangle by the given edge insets.

    Return Value

    All the activated and applied constraints to the current View with

  • aspectRatio(constant:) Extension method

    A layout anchor representing the aspect ratio of a View.

    Declaration

    Swift

    @discardableResult
    func aspectRatio(constant: CGFloat) -> NSLayoutConstraint

    Parameters

    constant

    A constant representing the value of the aspect ratio to be applied.

    Return Value

    An activated NSLayoutConstraint object that defines a constant size for the attribute associated with this dimension anchor.