소스 검색

Added activate/deactivate

Robert Payne 10 년 전
부모
커밋
3c3a76cf6e
1개의 변경된 파일22개의 추가작업 그리고 0개의 파일을 삭제
  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] {