UICollectionViewは、タイル上にビューを配置するときに利用します。
UICollectionViewCell、UICollectionReusableView、UICollectionViewController、UIScrollView
- StoryboardにUICollectionViewを配置します。
- UIViewControllerとStoryboardのUICollectionViewを関連けます。
- UICollectionViewの上にUICollectionViewCellを配置します。
- UICollectionViewCellを継承したサブクラスを定義します。
- UICollectionViewCellのサブクラスととStoryboardのUICollectionViewCellを関連付けます。
- StoryboardのUICollectionViewCellのCollection Reusable ViewのIdentifierにクラス名と同名のIDを付加します。
- UIViewControllerにUICollectionViewDataSourceを実装します。
- dataSourceにUIViewControllerのインスタンスを設定します。
- UICollectionViewDataSourceを実装するに当たり必須のメソッドをオーバーライドします。
- shouldShowMenuForItemAt・canPerformAction・performAction 左記UICollectionViewDelegateプロトコルのメソッドを実装する
- メニュー表示可能なセル(shouldShowMenuForItemAtで設定)をロングタップする
- 編集メニューが表示される(canPerformActionで設定されたメニューが表示される)
- 実行したい編集メニューをタップする
- 選択した編集メニューが実行される(performActionで設定)
プロパティ名 | 説明 | サンプル |
---|---|---|
delegate | delegateを指定する UICollectionViewDelegateを利用するため |
collectionView.delegate = self |
dataSource | dataSourceを指定する UICollectionViewDataSource |
collectionView.dataSource = self |
メソッド名 | 説明 | サンプル |
---|---|---|
reloadData | 再読込する | collectionView.reloadData() |
メソッド名 | 説明 | 必須 |
---|---|---|
didSelectItemAt | セルが選択されたときに呼び出される | - |
shouldShowMenuForItemAt | 編集メニューを表示するかどうかをBoolで返す | - |
canPerformAction | どのメニューを表示するのかをBoolを返して指定する | - |
performAction | 各メニューがタップされたときの処理 | - |
メソッド名 | 説明 | 必須 |
---|---|---|
numberOfSections | セクション数を返す | - |
numberOfItemsInSection | セクションごとのセル数を返す | ◯ |
viewForSupplementaryElementOfKind | ヘッダーまたは、フッターに値を設定する | - |
cellForItemAt | セルに値を設定する | ◯ |
メソッド名 | 説明 | 必須 |
---|---|---|
collectionViewLayout | セルのサイズを設定する | - |
UIKit.framework
iOS6.0以上
category | Version |
---|---|
Swift | 3.0.2 |
XCode | 8.2 |
iOS | 10.0〜 |
https://developer.apple.com/reference/uikit/uicollectionview https://developer.apple.com/reference/uikit/uicollectionviewcell https://developer.apple.com/reference/uikit/uicollectionreusableView