0001 // 0002 // SnapKit 0003 // 0004 // Copyright (c) 2011-2015 SnapKit Team - https://github.com/SnapKit 0005 // 0006 // Permission is hereby granted, free of charge, to any person obtaining a copy 0007 // of this software and associated documentation files (the "Software"), to deal 0008 // in the Software without restriction, including without limitation the rights 0009 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 0010 // copies of the Software, and to permit persons to whom the Software is 0011 // furnished to do so, subject to the following conditions: 0012 // 0013 // The above copyright notice and this permission notice shall be included in 0014 // all copies or substantial portions of the Software. 0015 // 0016 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 0017 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 0018 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 0019 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 0020 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 0021 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 0022 // THE SOFTWARE. 0023 0024 #if os(iOS) || os(tvOS) 0025 import UIKit 0026 #else 0027 import AppKit 0028 #endif 0029 0030 /** 0031 Used to add extra information to the actual `NSLayoutConstraint`'s that will UIKit/AppKit will utilize 0032 */ 0033 public class LayoutConstraint: NSLayoutConstraint { 0034 0035 internal var snp_constraint
Constraint.swift:35 public func install() -> [LayoutConstraint] { fatalError("Must be implemented by Concrete subclass.") }Constraint.swift:132 internal override func install() -> [LayoutConstraint] {Constraint.swift:151 let layoutConstraints = self.installInfo!.layoutConstraints.allObjects as! [LayoutConstraint]Constraint.swift:166 let layoutConstraints = self.installInfo!.layoutConstraints.allObjects as! [LayoutConstraint]Constraint.swift:179 for layoutConstraint in installInfo.layoutConstraints.allObjects as! [LayoutConstraint] {Constraint.swift:189 for layoutConstraint in installInfo.layoutConstraints.allObjects as! [LayoutConstraint] {Constraint.swift:207 internal func installOnView(updateExisting updateExisting: Bool = false, file: String? = nil, line: UInt? = nil) -> [LayoutConstraint] {Constraint.swift:233 return self.installInfo?.layoutConstraints.allObjects as? [LayoutConstraint] ?? []Constraint.swift:236 var newLayoutConstraints = [LayoutConstraint]()Constraint.swift:264 let layoutConstraint = LayoutConstraint(Constraint.swift:288 var newLayoutConstraintsToKeep = [LayoutConstraint]()Constraint.swift:293 var updateLayoutConstraint: LayoutConstraint? = nilConstraint.swift:345 let installedLayoutConstraints = installInfo.layoutConstraints.allObjects as? [LayoutConstraint] {Debugging.swift:49 public extension LayoutConstraint {Debugging.swift:123 } else if let object = object as? LayoutConstraint {Debugging.swift:129 if let object = object as? LayoutConstraint, let file = object.snp_makerFile, let line = object.snp_makerLine {LayoutConstraint.swift:39 internal func ==(left: LayoutConstraint, right: LayoutConstraint) -> Bool {LayoutConstraint.swift:39 internal func ==(left: LayoutConstraint, right: LayoutConstraint) -> Bool {View+SnapKit.swift:172 if let constraints = objc_getAssociatedObject(self, &installedLayoutConstraintsKey) as? [LayoutConstraint] {View+SnapKit.swift:170 internal var snp_installedLayoutConstraints: [LayoutConstraint] {: Constraint? = nil 0036 0037 } 0038 0039 internal func ==(left: LayoutConstraint, right: LayoutConstraint) -> Bool { 0040 if left.firstItem !== right.firstItem { 0041 return false 0042 } 0043 if left.secondItem !== right.secondItem { 0044 return false 0045 } 0046 if left.firstAttribute != right.firstAttribute { 0047 return false 0048 } 0049 if left.secondAttribute != right.secondAttribute { 0050 return false 0051 } 0052 if left.relation != right.relation { 0053 return false 0054 } 0055 if left.priority != right.priority { 0056 return false 0057 } 0058 if left.multiplier != right.multiplier { 0059 return false 0060 } 0061 return true 0062 } 0063 0064
Constraint.swift:277 layoutConstraint.snp_constraint = selfConstraintMaker.swift:193 existingLayoutConstraint.snp_constraint?.uninstall()Debugging.swift:104 return self.snp_constraint?.makerFileDebugging.swift:108 return self.snp_constraint?.makerLine