|
@@ -8,42 +8,62 @@ public extension UIView {
|
|
}
|
|
}
|
|
|
|
|
|
func alignLeadingToAnchor(_ anchor: NSLayoutXAxisAnchor, paddingLeading: CGFloat = 0.0, priority: UILayoutPriority? = .none) {
|
|
func alignLeadingToAnchor(_ anchor: NSLayoutXAxisAnchor, paddingLeading: CGFloat = 0.0, priority: UILayoutPriority? = .none) {
|
|
|
|
+ _ = constraintAlignLeadingToAnchor(anchor, paddingLeading: paddingLeading, priority: priority)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ func alignTrailingToAnchor(_ anchor: NSLayoutXAxisAnchor, paddingTrailing: CGFloat = 0.0, priority: UILayoutPriority? = .none) {
|
|
|
|
+ _ = constraintAlignTrailingToAnchor(anchor, paddingTrailing: paddingTrailing, priority: priority)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ func alignTopToAnchor(_ anchor: NSLayoutYAxisAnchor, paddingTop: CGFloat = 0.0, priority: UILayoutPriority? = .none) {
|
|
|
|
+ _ = constraintAlignTopToAnchor(anchor, paddingTop: paddingTop, priority: priority)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ func alignBottomToAnchor(_ anchor: NSLayoutYAxisAnchor, paddingBottom: CGFloat = 0.0, priority: UILayoutPriority? = .none) {
|
|
|
|
+ _ = constraintAlignBottomToAnchor(anchor, paddingBottom: paddingBottom, priority: priority)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ func fill(view: UIView, paddingLeading: CGFloat? = 0.0, paddingTrailing: CGFloat? = 0.0, paddingTop: CGFloat? = 0.0, paddingBottom: CGFloat? = 0.0) {
|
|
|
|
+ alignLeadingToAnchor(view.leadingAnchor, paddingLeading: paddingLeading ?? 0.0)
|
|
|
|
+ alignTrailingToAnchor(view.trailingAnchor, paddingTrailing: paddingTrailing ?? 0.0)
|
|
|
|
+ alignTopToAnchor(view.topAnchor, paddingTop: paddingTop ?? 0.0)
|
|
|
|
+ alignBottomToAnchor(view.bottomAnchor, paddingBottom: paddingBottom ?? 0.0)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ func constraintAlignLeadingToAnchor(_ anchor: NSLayoutXAxisAnchor, paddingLeading: CGFloat = 0.0, priority: UILayoutPriority? = .none) -> NSLayoutConstraint {
|
|
let constraint = self.leadingAnchor.constraint(equalTo: anchor, constant: paddingLeading)
|
|
let constraint = self.leadingAnchor.constraint(equalTo: anchor, constant: paddingLeading)
|
|
if let priority = priority {
|
|
if let priority = priority {
|
|
constraint.priority = priority
|
|
constraint.priority = priority
|
|
}
|
|
}
|
|
constraint.isActive = true
|
|
constraint.isActive = true
|
|
|
|
+ return constraint
|
|
}
|
|
}
|
|
|
|
|
|
- func alignTrailingToAnchor(_ anchor: NSLayoutXAxisAnchor, paddingTrailing: CGFloat = 0.0, priority: UILayoutPriority? = .none) {
|
|
|
|
|
|
+ func constraintAlignTrailingToAnchor(_ anchor: NSLayoutXAxisAnchor, paddingTrailing: CGFloat = 0.0, priority: UILayoutPriority? = .none) -> NSLayoutConstraint {
|
|
let constraint = self.trailingAnchor.constraint(equalTo: anchor, constant: -paddingTrailing)
|
|
let constraint = self.trailingAnchor.constraint(equalTo: anchor, constant: -paddingTrailing)
|
|
if let priority = priority {
|
|
if let priority = priority {
|
|
constraint.priority = priority
|
|
constraint.priority = priority
|
|
}
|
|
}
|
|
constraint.isActive = true
|
|
constraint.isActive = true
|
|
|
|
+ return constraint
|
|
}
|
|
}
|
|
|
|
|
|
- func alignTopToAnchor(_ anchor: NSLayoutYAxisAnchor, paddingTop: CGFloat = 0.0, priority: UILayoutPriority? = .none) {
|
|
|
|
|
|
+ func constraintAlignTopToAnchor(_ anchor: NSLayoutYAxisAnchor, paddingTop: CGFloat = 0.0, priority: UILayoutPriority? = .none) -> NSLayoutConstraint {
|
|
let constraint = self.topAnchor.constraint(equalTo: anchor, constant: paddingTop)
|
|
let constraint = self.topAnchor.constraint(equalTo: anchor, constant: paddingTop)
|
|
if let priority = priority {
|
|
if let priority = priority {
|
|
constraint.priority = priority
|
|
constraint.priority = priority
|
|
}
|
|
}
|
|
constraint.isActive = true
|
|
constraint.isActive = true
|
|
|
|
+ return constraint
|
|
}
|
|
}
|
|
|
|
|
|
- func alignBottomToAnchor(_ anchor: NSLayoutYAxisAnchor, paddingBottom: CGFloat = 0.0, priority: UILayoutPriority? = .none) {
|
|
|
|
|
|
+ func constraintAlignBottomToAnchor(_ anchor: NSLayoutYAxisAnchor, paddingBottom: CGFloat = 0.0, priority: UILayoutPriority? = .none) -> NSLayoutConstraint {
|
|
let constraint = self.bottomAnchor.constraint(equalTo: anchor, constant: -paddingBottom)
|
|
let constraint = self.bottomAnchor.constraint(equalTo: anchor, constant: -paddingBottom)
|
|
if let priority = priority {
|
|
if let priority = priority {
|
|
constraint.priority = priority
|
|
constraint.priority = priority
|
|
}
|
|
}
|
|
constraint.isActive = true
|
|
constraint.isActive = true
|
|
- }
|
|
|
|
-
|
|
|
|
- func fill(view: UIView, paddingLeading: CGFloat? = 0.0, paddingTrailing: CGFloat? = 0.0, paddingTop: CGFloat? = 0.0, paddingBottom: CGFloat? = 0.0) {
|
|
|
|
- alignLeadingToAnchor(view.leadingAnchor, paddingLeading: paddingLeading ?? 0.0)
|
|
|
|
- alignTrailingToAnchor(view.trailingAnchor, paddingTrailing: paddingTrailing ?? 0.0)
|
|
|
|
- alignTopToAnchor(view.topAnchor, paddingTop: paddingTop ?? 0.0)
|
|
|
|
- alignBottomToAnchor(view.bottomAnchor, paddingBottom: paddingBottom ?? 0.0)
|
|
|
|
|
|
+ return constraint
|
|
}
|
|
}
|
|
|
|
|
|
func constraintAlignTopTo(_ view: UIView) -> NSLayoutConstraint {
|
|
func constraintAlignTopTo(_ view: UIView) -> NSLayoutConstraint {
|