猫でもわかるWebプログラミングと副業

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

【Swift4】StoryBoartを使わずにコードだけでUICollectionViewControllerにNavibationBarをだす

f:id:yoshiki_utakata:20181028224537p:plain

class MyCollectionViewController: UICollectionViewController {

    init() {
        let layout = UICollectionViewFlowLayout()
        let width = UIScreen.main.bounds.size.width / 2
        layout.itemSize = CGSize(width: width, height: width)
        layout.minimumInteritemSpacing = 0
        layout.minimumLineSpacing = 0

        // navigation bar の分だけ下に下げる
        // widthはなんでもいい
        layout.headerReferenceSize = CGSize(width: 100, height: 68)
        // 親クラスのイニシャライザに渡してやる
        super.init(collectionViewLayout: layout)
        

        llet navigationBar = UINavigationBar(
            frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 44)
        )
        let navigationBarTitle = UINavigationItem(title: "背景選択")
        navigationBar.setItems([navigationBarTitle], animated: false)
        self.view.addSubview(navigationBar)
}

NavigationBarの分だけ