nslayoutanchor podtrieda
extension NSLayoutDimension {
@discardableResult
func constrain(_ relation: NSLayoutConstraint.Relation = .equal,
to anchor: NSLayoutDimension,
with constant: CGFloat = 0.0,
multiplyBy multiplier: CGFloat = 1.0,
isActive: Bool = true) -> NSLayoutConstraint {
let constraint: NSLayoutConstraint
switch relation {
case .equal:
constraint = self.constraint(equalTo: anchor, multiplier: multiplier, constant: constant)
case .greaterThanOrEqual:
constraint = self.constraint(greaterThanOrEqualTo: anchor, multiplier: multiplier, constant: constant)
case .lessThanOrEqual:
constraint = self.constraint(lessThanOrEqualTo: anchor, multiplier: multiplier, constant: constant)
}
constraint.isActive = isActive
return constraint
}
@discardableResult
func constrain(_ relation: NSLayoutConstraint.Relation = .equal,
to constant: CGFloat = 0.0,
isActive: Bool = true) -> NSLayoutConstraint {
let constraint: NSLayoutConstraint
switch relation {
case .equal:
constraint = self.constraint(equalToConstant: constant)
case .greaterThanOrEqual:
constraint = self.constraint(greaterThanOrEqualToConstant: constant)
case .lessThanOrEqual:
constraint = self.constraint(lessThanOrEqualToConstant: constant)
}
constraint.isActive = isActive
return constraint
}
}