// Create CustomView.xib, set File's Owner to CustomView. // Link the top level view in the XIB to the contentView outlet. class CustomView : UIView { @IBOutlet private var contentView:UIView? // other outlets override init(frame: CGRect) { // for using CustomView in code super.init(frame: frame) self.commonInit() } required init?(coder aDecoder: NSCoder) { // for using CustomView in IB super.init(coder: aDecoder) self.commonInit() } private func commonInit() { Bundle.main.loadNibNamed("CustomView", owner: self, options: nil) guard let content = contentView else { return } content.frame = self.bounds content.autoresizingMask = [.flexibleHeight, .flexibleWidth] self.addSubview(content) } }