未分類

collectionViewでセルが選択された時に色を変える

投稿日:

collectionViewでセルが選択された時にハイライトをつける関数。
collectionView(_:shouldHighlightItemAt:)

デフォルトでtrueとなっているので、これは書かなくてもOK。

    //セルが選択された時に強調させる
    func collectionView(_ collectionView: UICollectionView,
                        shouldHighlightItemAt indexPath: IndexPath) -> Bool {
        return true
    }

collectionViewでセルが選択された時に色を変える

セルに情報を入れる関数collectionView:cellForItemAt:に以下のコードを追加する。

// セル選択時の色
        let selectedBGView = UIView(frame: cell.frame)
        selectedBGView.backgroundColor = .red
        cell.selectedBackgroundView = selectedBGView

セルのselectedBackgroundViewにUIViewを設定することで、セル選択時にそのUIViewを表示される。
ここでは背景色が赤のviewを設定した。

セルをタップすると赤色になる↓

補足

セルが選択された時の処理についてのメソッド。
ここでは選択されたセルのindex番号をprintしている。

//セルが選択された時の処理
func collectionView(_ collectionView: UICollectionView, didHighlightItemAt indexPath: IndexPath) {
        print("Highlighted: \(indexPath)")
    }

またcollectionView:shouldSelectItemAt:も似た機能を持つが、一度タップしたセルの背景色が変更されたままで元に戻らない。
選択した時だけ一時的にハイライトしたい時は上記のcollectionView:shouldHighlightItemAt:を使う。

参考:UICollectionViewのセルの強調・選択時にセルの見た目を変化させる

-未分類

執筆者:

関連記事

バウンドするアニメーション

x軸とy軸に分けてから位置を調整する。まずはy軸で垂直に落ちる動きを決めてから、x軸で移動距離を決める。 跳ね返りは最初いた位置から1/3くらいにしたが、材質によって異なる。 地面に接地→跳ね返り→ま …

no image

MVCデザインパターン

MVCデザインパターンとは プログラムをMVCに分けて構成する。 ・Model ・View ・Controller それぞれの役割 Model: 機能(処理を実行) Controller: Viewに …

ばらばらの映像ファイルを一つにまとめる

いろんなフォルダから素材を使ったりしている場合、クライアントに渡す前に全ての映像ファイルを一つにまとめる必要がある。 この方法で使っている素材を元の場所からコピーしてきて一つのフォルダにまとめることが …

no image

cocoaPodsの様々なライブラリ

lottie-ios アニメーションに関するライブラリ。 LottieFilesのフリーアニメーション素材を使うための仲介をする。 import Lottie AVFoundation 動画などを使え …

レガシータイトルで綺麗な角丸四角形を作る方法

レガシータイトルで綺麗な角丸四角形を作りたい。 角丸長方形(可変)ツールで作ると角が歪む 角丸長方形を作成し、右の「フィレットサイズ」で角を調整できる。 ただし、角が歪んでしまう。(画像の下の長方形の …