【Swift】UICollectionViewのCellに影を追加する

ちょっとしたことですが、今後も使う機会がありそうなので備忘録としてまとめ。
Swift の UICollectionView の Cell に影を追加する方法についてです。
ViewController に数行追加するだけなので、作業としては簡単です。

参考にさせていただいた記事はこちらから。

CollectionViewCell add shadow | Apple Developer Forums
https://developer.apple.com/forums/thread/116678

 

サンプルコードは下記の通りです。
セルの設定を行う cellForItemAt にコードを追加していきます。

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell: UICollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath)
        
    cell.layer.borderWidth = 0.0
    cell.layer.shadowColor = UIColor.black.cgColor
    cell.layer.shadowOffset = CGSize(width: 1, height: 1)
    cell.layer.shadowOpacity = 0.3
    cell.layer.masksToBounds = false
    
    return cell
}

追加したコードは 4〜8行目です。
なお、コードを追加する際の注意点なのですが、どうやら cell.layer.masksToBounds = false を一番最後に書かないと、影が表示されるようにならないみたいです。
それ以外のコードは追加・削除しても何も問題なかったのですが、これだけは必ず末尾に追加する必要があるようでした。
これだけ気をつければ、あとは好きな見た目に調整することは難しくなかったです。
今回は指定しませんでしたが、角丸などの設定も追加できます。

 

以上、Swift の UICollectionView の Cell に影を追加する方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG