XIBファイル
swiftのソース
extension.swift
import UIKit
extension NSObject{
//クラス名を返すクラス変数
static var CLASS_NAME:String{
return NSStringFromClass(self.self).components(separatedBy: ".")[1]
}
}
extension UIView{
//クラス名.xibを読み込むクラスメソッド
static func loadXIB()->Any?{
return UINib(nibName: self.CLASS_NAME , bundle: nil).instantiate(withOwner: self, options: nil).first
}
}
AL1View.swift
import UIKit
class AL1View: UIView {
@IBOutlet weak var iv: UIImageView!
@IBOutlet weak var lbl: UILabel!
@IBOutlet weak var swtch: UISwitch!
override func awakeFromNib() {
super.awakeFromNib()
}
}
ViewController.swift
import UIKit
import TinyConstraints
class ViewController:UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
self.setup()
}
private func setup(){
if let v = AL1View.loadXIB() as? AL1View {
self.view.addSubview(v)
v.edgesToSuperview()
}
}
}