iOSアプリエンジニアの備忘録ブログ

主にiOSアプリの開発をしているエンジニアがいろいろ書いていきます。railsを中心にサーバーサイドの話もたまに。勉強方法の記録なんかも。

xcode 7.0でストーリーボードを使わずにxib(nib)ファイルをViewControllerにaddSubviewする方法

用意するもの
MainViewController.swift (xlibファイルを表示したいviewController)
SubView.xib
SubView.swift

var nib: UINib = UINib(nibName: "SubView", bundle: nil)
var nibView: UIView? = nib.instantiateWithOwner(self, options: nil)[0] as? UIView  // *1
nibView?.frame = CGRectMake(0, 0, wBounds, hBounds)
view1.addSubview(nibView!)

SubView.xibからSubViewクラスのインスタンスを作成し、それをMainViewControllerのviewにaddSubviewする感じ。
SubView.swiftインスタンスの初期化処理を書く必要がある。

*1 SubView.swiftが存在しないとエラーが出る(以下のstackoverflowを参照)
ios - What does this mean? "'NSUnknownKeyException', reason: ... This class is not key value coding-compliant for the key X" - Stack Overflow