趣味でiOSアプリ開発をかじっていた自分が、改めてiOS開発を勉強し始めた際に、曖昧に理解していたところや知らなかったところをメモしています。いつか書き直します。
参考文献
この記事は以下の書籍の情報を参考にして執筆しました。4章を読んでの内容になります。
##起動時のstoryboardを設定
GUIで設定
プロジェクトファイルのMain Interfaceでstoryboardを指定する。
下記のように設定してあるとMain.storyboardファイルが読み込まれる。
##storyboardで開始時のビューを設定する方法
矢印をドラッグして持ってくるか、is initial View Controller にチェックを入れる。
##stackボタン
部品を複数選択して下記のボタンを押すとstackViewを作ることができる。
##親子関係にあるビューの制約
子ビューから親ビューへCtrol+ドラッグした時に追加できる制約で、親子間での比率など制約を設定できる。
##xibファイ ルの呼び出し
xibファイルを作成。
Viewを作って背景色を青にする。
####呼び出したい箇所で読み込む。
(guardでnilのチェックをしているが他の方法でもいい)
// xibファイルの呼び出し
guard let subView = Bundle.main.loadNibNamed("Xibファイル名", owner: nil, options: nil)?.first as? UIView else { return }
self.view.addSubview(subView)
####カスタムクラスのビューに指定し、カスタムクラスを呼び出す。
xibファイルに属性を追加したりできる。
import UIKit
class XibView: UIView {
override init(frame: CGRect){
super.init(frame: frame)
loadNib()
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
loadNib()
}
func loadNib(){
// xibファイル読み込み
guard let view = Bundle.main.loadNibNamed("View2", owner: nil, options: nil)?.first as? UIView else { return }
view.frame = self.bounds
self.addSubview(view)
}
}
使い方例
let subView = XibView(frame: CGRect(x: 50, y: 50, width: 400, height: 700))
self.view.addSubview(subView)
##storyboard分割
Storyboard Referenceを用いてstoryboardを分割し、参照することができる。
分割したい範囲をまとめて選択し、「Editor」→「Reference to Stroryboard」を選択し、新しいstoryboardを名前をつけて保存。
選択した範囲だけで構成される storyboardができた。
分割元の方では参照するstoryboardが表示されている。