loadViewを使用した際に困ったことを、備忘録として記載しておきます。
困ったこと
StoryBoardを使用することになった時に、loadViewを使ってレイアウトしていたせいで、作業が詰んでしまいました。
loadViewの呼ばれるタイミング
loadViewするタイミングで、controllerが制御するviewの作成を行います。
loadViewの使用目的
- xibを利用せず、コードでViewを作成する場合はオーバーライドする
- コードでViewを作成する場合はloadViewにコーディングをする※ただし、UI部品のセットはこのメソッドでなくても問題ない
#loadViewの注意点
- StoryBoard(Interface Builder)やxibを使用する場合は、loadViewはオーバーライドしてはいけない
- 当たり前といえば当たり前ですが、loadViewの中身を書かなくても、オーバーライドしているのでアウトです。
// UI 部品を View へセットする場合はこちらをオーバーライドします。
// ただし、UI 部品のセットはこのメソッドでなくても問題ありません。
override func loadView() {
super.loadView()
print("loadView")
}
// 初期表示時に必要な処理を設定します。
override func viewDidLoad() {
super.viewDidLoad()
print("viewDidLoad")
}
引用:【Swift】UIViewController ライフサイクル 簡易説明書 | ポケットリファレンス サンプル付き
loadViewを使うときは、StoryBoardやxibを使用しないか、きちんと確認しましょう。
#参考リンク