         }
     }
 
-    func pinToView(view: UIView, edges: [EdgeAnchor] = EdgeAnchor.allEdges, activate: Bool = true) -> [NSLayoutConstraint] {
+    func pinToView(view: UIView, edges: [EdgeAnchor] = EdgeAnchor.allEdges, relation: NSLayoutRelation = .Equal, activate: Bool = true) -> [NSLayoutConstraint] {
         let addConstraint: (edge: EdgeAnchor) -> NSLayoutConstraint? = { edge in
             if edges.contains(edge) {
                 let constant: CGFloat

        return viewConstraints
    }

    func pinEdge(edge: EdgeAnchor, toEdge: EdgeAnchor, ofView: UIView, constant: CGFloat = 0.0, priority: UILayoutPriority = UILayoutPriorityRequired, activate: Bool = true) -> NSLayoutConstraint {
        self.translatesAutoresizingMaskIntoConstraints = false
    
        let fromAnchor = self.anchorForEdge(edge)
        let toAnchor = ofView.anchorForEdge(toEdge)

        let constraint = fromAnchor.constraintEqualToAnchor(toAnchor, constant: constant)
        constraint.priority = priority
        constraint.active = activate



                let currentAnchor = self.anchorForEdge(edge)
                let viewAnchor = view.anchorForEdge(edge)
                let constraint: NSLayoutConstraint
                if relation == .GreaterThanOrEqual {
                    constraint = currentAnchor.constraintGreaterThanOrEqualToAnchor(viewAnchor, constant: constant)
                } else if relation == .LessThanOrEqual {
                    constraint = currentAnchor.constraintLessThanOrEqualToAnchor(viewAnchor, constant: constant)
                } else {
                    constraint = currentAnchor.constraintEqualToAnchor(viewAnchor, constant: constant)
                }

                constraint.priority = priority
                return constraint
            }
