NSLayoutConstraint+Extensions 2.swift 684 B

123456789101112131415161718192021222324252627282930313233
  1. import UIKit
  2. extension NSLayoutConstraint {
  3. /// A helper function to activate layout constraints.
  4. static func activate(_ constraints: NSLayoutConstraint? ...) {
  5. for case let constraint in constraints {
  6. guard let constraint = constraint else {
  7. continue
  8. }
  9. (constraint.firstItem as? UIView)?.translatesAutoresizingMaskIntoConstraints = false
  10. constraint.isActive = true
  11. }
  12. }
  13. }
  14. extension Array where Element: NSLayoutConstraint {
  15. func activate() {
  16. forEach {
  17. if !$0.isActive {
  18. $0.isActive = true
  19. }
  20. }
  21. }
  22. func deactivate() {
  23. forEach {
  24. if $0.isActive {
  25. $0.isActive = false
  26. }
  27. }
  28. }
  29. }