Explorar o código

Added activate/deactivate

Robert Payne %!s(int64=10) %!d(string=hai) anos
pai
achega
3c3a76cf6e
Modificáronse 1 ficheiros con 22 adicións e 0 borrados
  1. 22 0
      Source/Constraint.swift

+ 22 - 0
Source/Constraint.swift

@@ -291,6 +291,28 @@ final public class Constraint {
         self.uninstallFromView()
     }
     
+    public func activate() {
+        if NSLayoutConstraint.respondsToSelector("activateConstraints:") && self.installInfo != nil {
+            let layoutConstraints = self.installInfo!.layoutConstraints.allObjects as! [LayoutConstraint]
+            if layoutConstraints.count > 0 {
+                NSLayoutConstraint.activateConstraints(layoutConstraints)
+            }
+        } else {
+            self.install()
+        }
+    }
+    
+    public func deactivate() {
+        if NSLayoutConstraint.respondsToSelector("deactivateConstraints:") && self.installInfo != nil {
+            let layoutConstraints = self.installInfo!.layoutConstraints.allObjects as! [LayoutConstraint]
+            if layoutConstraints.count > 0 {
+                NSLayoutConstraint.deactivateConstraints(layoutConstraints)
+            }
+        } else {
+            self.uninstall()
+        }
+    }
+    
     // MARK: internal
     
     internal func installOnView(updateExisting: Bool = false) -> [LayoutConstraint] {