Xibファイルを使ってUIViewのサブクラス生成

Swift

XibファイルからUIViewのサブクラスを生成するとGUI側で色々出来る

Xibファイルを使ってUIViewのsubclassを作ることがあったので、メモしておきます。

以下のような感じでinstance生成時に、Xibファイルを呼んでキャストしたものを返せば良いようです。

class CustomView: UIView {
    class func instance() -> CustomView {
        return UINib(nibName: "CustomView", bundle: nil).instantiateWithOwner(self, options: nil).first as! CustomView
    }
}

使い方は以下のような感じ。

let customView: CustomView = CustomView.instance()

まとめて覚えておくと、サクッと出来て便利に使えそうです。

こんな時に便利かも

  • あまりコード量を増やしたくない
  • Xib側でViewのデザインをしたい
  • Storyboard上には置きたくなく、切り分けておきたい

コメントを残す