Skip to content

shusuke0812/UICatalogOfXib

Repository files navigation

Xibを使った実装例

 

開発環境

  • Xcode version 11.3.1
  • pod version 1.9.1
  • MacOS Catalina version 10.15.4

概要

Standard UI

Scroll View with Floating Button

Moving Collection View Cell with Drag and Drop

Xib View vs. Storyboard (ex. Modal Screen)

・値渡し先のプロパティのnilチェックが必要
・値渡し先のプロパティはミュータブル/公開にする
・値渡し先のプロパティのnilチェックが不要
・値渡し先のプロパティをいミュータブル/非公開にできる

Memo

  • UIViewでXibファイル(カスタムView)を作るときは、
    下記に示すイニシャライザ・Viewの読み込みをまとめたXibViewクラスを継承する
class XibView: UIView {
    override init(frame: CGRect) {
        super.init(frame: frame)
        self.loadNib()
    }
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.loadNib()
    }
    private func loadNib() {
        // 自身と同じclass名のxibを読み込む
        let className: String = String(describing: type(of: self))
        let view: UIView = Bundle.main.loadNibNamed(className, owner: self, options: nil)?.first as! UIView
        view.backgroundColor = .white
        view.frame = self.bounds
        self.addSubview(view)
    }
}

About

🔧 ツール - iOS用Xibファイルの使い方

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages