60 lines
1.5 KiB
Swift
60 lines
1.5 KiB
Swift
//
|
|
// UIView.swift
|
|
// VDS
|
|
//
|
|
// Created by Matt Bruce on 11/17/22.
|
|
//
|
|
|
|
import Foundation
|
|
import UIKit
|
|
import VDSFormControlsTokens
|
|
|
|
extension UIView {
|
|
public func constraint(with identifier: String) -> NSLayoutConstraint? {
|
|
return constraints.first { $0.identifier == identifier }
|
|
}
|
|
}
|
|
|
|
extension NSLayoutConstraint {
|
|
|
|
@discardableResult
|
|
/// Activates yourself
|
|
/// - Returns: Self
|
|
public func activate() -> Self{
|
|
isActive = true
|
|
return self
|
|
}
|
|
|
|
@discardableResult
|
|
/// Deactivates yourself
|
|
/// - Returns: Self
|
|
public func deactivate() -> Self{
|
|
isActive = false
|
|
return self
|
|
}
|
|
|
|
/// Helper class that holds onto all types of Contraints.
|
|
public class Container {
|
|
public var topConstraint: NSLayoutConstraint?
|
|
public var leadingConstraint: NSLayoutConstraint?
|
|
public var trailingConstraint: NSLayoutConstraint?
|
|
public var bottomConstraint: NSLayoutConstraint?
|
|
public var widthConstraint: NSLayoutConstraint?
|
|
public var heightConstraint: NSLayoutConstraint?
|
|
|
|
public var isActive: Bool = false {
|
|
didSet{
|
|
topConstraint?.isActive = isActive
|
|
bottomConstraint?.isActive = isActive
|
|
leadingConstraint?.isActive = isActive
|
|
trailingConstraint?.isActive = isActive
|
|
heightConstraint?.isActive = isActive
|
|
widthConstraint?.isActive = isActive
|
|
}
|
|
}
|
|
|
|
public init(){}
|
|
}
|
|
|
|
}
|