SwiftでxibをカスタムViewとして使用する時の諸々
SwiftでStoryboard等を使っている場合、すべてのViewに関する処理を、同一のViewControllerに書くと、とても長くなってしまいます。そのため、Viewの切り出しを行う方が多いかと思います。以下でその分割方法について書いていきます。
xibをカスタムViewとして使用する方法
- UIView(以下
CustomView.swift
と呼ぶ)とxib(以下CustomView.xib
と呼ぶ)のファイルを作成する CustomView.xib
で配置したViewのFile's OwnerにCustomViewを指定するCustomView.xib
で配置したViewをCustomView.swift
にcontentView
という名前で紐付けるCustomView.swift
にxibを読み込むための処理を記述する(以下参照)
import UIKit class CustomView: UIView { @IBOutlet var contentView: UIView! required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder)! loadXib() } private func loadXib() { NSBundle.mainBundle().loadNibNamed("CustomView", owner: self, options: nil) contentView.frame = CGRectMake(0, 0, frame.size.width, frame.size.height) addSubview(contentView) } }
あとは実際に使うところでUIViewのClassをCustomViewにすれば動くかと思います。