macOS, iOS

xib로 만든 파일을, 다른 스토리보드에서도 렌더링해서 보고 싶다면?

SweetDev 2019. 11. 15. 15:55

@IBDesignable

class SeparatorButtons: UIView {

  

  let nibName = "SeparatorButtons"

  var contentView: UIView?

  

  override init(frame: CGRect) {

    super.init(frame: frame)

    loadViewFromNib()

  }

  

  required init?(coder aDecoder: NSCoder) {

    super.init(coder: aDecoder)

    loadViewFromNib()

  }

  

  override func prepareForInterfaceBuilder() {

    super.prepareForInterfaceBuilder()

    loadViewFromNib()

  }

  

  func loadViewFromNib() {

    let bundle = Bundle(for: type(of: self))

    let nib = UINib(nibName: nibName, bundle: bundle)

    let view = nib.instantiate(withOwner: self, options: nil).first as! UIView

    view.frame = self.bounds

    self.addSubview(view)

    contentView = view

  }

}