1 // Copyright (c) 2018, Applidium. All rights reserved 2 // UIView+Layout.swift 3 // OverlayContainer 4 // 5 // Created by Gaétan Zanella on 19/11/2018. 6 // 7 8 import UIKit 9 10 extension UIView { pinToSuperviewnull11 func pinToSuperview(with insets: UIEdgeInsets = .zero, edges: UIRectEdge = .all) { 12 guard let superview = superview else { return } 13 translatesAutoresizingMaskIntoConstraints = false 14 if edges.contains(.top) { 15 topAnchor.constraint(equalTo: superview.topAnchor, constant: insets.top).isActive = true 16 } 17 if edges.contains(.bottom) { 18 bottomAnchor.constraint(equalTo: superview.bottomAnchor, constant: -insets.bottom).isActive = true 19 } 20 if edges.contains(.left) { 21 leadingAnchor.constraint(equalTo: superview.leadingAnchor, constant: insets.left).isActive = true 22 } 23 if edges.contains(.right) { 24 trailingAnchor.constraint(equalTo: superview.trailingAnchor, constant: -insets.right).isActive = true 25 } 26 } 27 } 28 29