未分類

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のセルの強調・選択時にセルの見た目を変化させる

-未分類

執筆者:

関連記事

no image

モーショングラフィックテンプレートを読み込む

ダウンロードしたテンプレートは拡張子『.mogrt』で保存されます。テンプレートを使う際には、Premiere Proのローカルテンプレートフォルダにコピーするか、エッセンシャルグラフィックスパネルか …

no image

collectionViewの基本的な使い方

1.collectionViewを画面一杯に配置する。CellのIdentifierに任意の名前「Cell」とつける。 2.プロトコルを追加し、デリゲートの設定をする。 class ViewContr …

no image

APIとは

APIとは、自分がソフトウェアの一部を公開して、他のソフトウェアと機能を共有できるようにしたもの。 こんなイメージ: 企業<うちのサイトの機能の一部を使ってもいいよ。機能を取得するための仕様書を用意し …

no image

TableViewとStaticCellでiPhonの設定画面風を作る

TableViewとStaticCellとNavigationControlleを使って設定画面ぽいものを作るサンプル↓ 参考:UITableView + Static Cellsでアプリ内設定画面を …

no image

プレミアプロ講座応用編3_シェイプやイラストを使ったテロップ

背景や下線のあるテロップ シェイプを追加するだけ。 位置や不透明度等でアニメーションをつけられる。 イラストを使う イラストを使う時に「クロップ」(画像をトリミングする機能)というエフェクトを使う。