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上には置きたくなく、切り分けておきたい