Advances in UICollectionViewをみた #WWDC20
こちらの記事には非公開の情報が含まれているのでApple Developer Programに登録しNDAに合意している方のみ閲覧してください
今日からWWDCのセッションの動画が公開されました。この記事ではAdvances in UICollectionViewをみたので雑にとったメモをまとめて公開します。
iOS 13から追加されたDiffable Data Sourceについて。iOS 14から折り畳みのUIが可能になった。セクションスナップショットを追加した。
新たなUIとしてList形式が追加された。
let configuration = UICollectionLayoutListConfiguration(appearance: .insetGrouped)
let layout = UICollectionViewCompositionalLayout.list(using: configuration)
リストを表示する際のサンプルコード。UICollectionListCellというクラスが追加された。詳細はLists in UICollectionViewというセッションにて。
Cell RegistrationついAPIが追加された。
let reg = UICollectionView.CellRegistration<MyCell, ViewModel> { cell, indexPath, model in
// configure cell content
}
let dataSource = UICollectionViewDiffableDataSource<S,I>(collectionView: collectionView) {
collectionView, indexPath, item -> UICollectionViewCell in
return collectionView.dequeueConfiguredReusableCell(using: reg, for: indexPath, item: item)
}
サンプルコード。(去年ぐらいからViewModelという単語が出るようになって少し気になる)
セルの内容を表現するCell Configurationというクラスが追加。
var contentConfiguration = UIListContentConfiguration.cell()
contentConfiguration.image = UIImage(systemNamed:"hammer")
contentConfiguration.text = "Ready. Set. Code"
cell.contentConfiguration = contentConfiguration
いわゆるViewModelっぽい気もする。こちらはModern Cell Configurationという別のセッションにて。
Apple公式のサンプルコードはこちら。
まとめ
リストがどこまで利用可能なのか、UITableViewが不要になるのか?が気になりました。サンプルコードもあるので後で試したい。(ちなみにDeveloperというアプリで字幕もコードもコピーできるようになってて最高(もはやこういうメモすら不要に感じる))
この記事が気に入ったらサポートをしてみませんか?