Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
59 lines (50 sloc) 1.86 KB
//
// UIStackViewExtensions.swift
// SwifterSwift-iOS
//
// Created by Benjamin Meyer on 2/18/18.
// Copyright © 2018 SwifterSwift
//
#if canImport(UIKit) && !os(watchOS)
import UIKit
// MARK: - Initializers
@available(iOS 9.0, *)
public extension UIStackView {
/// SwifterSwift: Initialize an UIStackView with an array of UIView and common parameters.
///
/// let stackView = UIStackView(arrangedSubviews: [UIView(), UIView()], axis: .vertical)
///
/// - Parameters:
/// - arrangedSubviews: The UIViews to add to the stack.
/// - axis: The axis along which the arranged views are laid out.
/// - spacing: The distance in points between the adjacent edges of the stack view’s arranged views.(default: 0.0)
/// - alignment: The alignment of the arranged subviews perpendicular to the stack view’s axis. (default: .fill)
/// - distribution: The distribution of the arranged views along the stack view’s axis.(default: .fill)
convenience init(
arrangedSubviews: [UIView],
axis: NSLayoutConstraint.Axis,
spacing: CGFloat = 0.0,
alignment: UIStackView.Alignment = .fill,
distribution: UIStackView.Distribution = .fill) {
self.init(arrangedSubviews: arrangedSubviews)
self.axis = axis
self.spacing = spacing
self.alignment = alignment
self.distribution = distribution
}
/// SwifterSwift: Adds array of views to the end of the arrangedSubviews array.
///
/// - Parameter views: views array.
func addArrangedSubviews(_ views: [UIView]) {
for view in views {
addArrangedSubview(view)
}
}
/// SwifterSwift: Removes all views in stack’s array of arranged subviews.
func removeArrangedSubviews() {
for view in arrangedSubviews {
removeArrangedSubview(view)
}
}
}
#endif
You can’t perform that action at this time.