 
 public extension UIView {
 
-    func pinToSuperview(edges: [EdgeAnchor] = EdgeAnchor.allEdges, activate: Bool = true) -> [NSLayoutConstraint] {
+    func pinToSuperview(edges: [EdgeAnchor] = EdgeAnchor.allEdges, relation: NSLayoutRelation = .Equal, activate: Bool = true) -> [NSLayoutConstraint] {
         if let superview = self.superview {
             return self.pinToView(superview, edges: edges, activate: activate)
         } else {


                let currentAnchor = self.anchorForEdge(edge)
                let viewAnchor = view.anchorForEdge(edge)
                let constraint = currentAnchor.constraintEqualToAnchor(viewAnchor, constant: constant)
                constraint.priority = priority
                return constraint
            }

private extension UIView {

    func anchorForEdge(edge: EdgeAnchor) -> NSLayoutAnchor {
        if edge == .leading {
            return self.leadingAnchor
        } else if edge == .trailing {
            return self.trailingAnchor
        } else if edge == .top {
            return self.topAnchor
        } else if edge == .bottom {
            return self.bottomAnchor
        } else if edge == .centerX {
            return self.centerXAnchor
        } else if edge == .centerY {
            return self.centerYAnchor
        } else if edge == .width {
            return self.widthAnchor
        } else if edge == .height {
            return self.heightAnchor
        } else {
            fatalError("There is an unhandled edge case with edges. Get it? Edge case… 😂")
        }
    }
