trailingSwipeActionsConfigurationProvider causes shadow effect on UICollectionViewListCell gone

Currently, I have achieve shadow and corner effect for UICollectionViewListCell, using the following code.

UICollectionViewListCell

class NoteCell: UICollectionViewListCell {
    
    override func awakeFromNib() {
        super.awakeFromNib()

        initShadow()
        initCorner()
    }
    
    private func updateShadowColor() {
        // Determine the shadow color based on the current interface style
        let shadowUIColor = UIColor.label
        self.layer.shadowColor = shadowUIColor.cgColor
    }
    
    private func initShadow() {
        // https://www.hackingwithswift.com/example-code/uikit/how-to-add-a-shadow-to-a-uiview
        
        self.layer.shadowOpacity = 0.3
        self.layer.shadowOffset = CGSize(width: 0.5, height: 0.5)
        self.layer.shadowRadius = 2
        self.layer.masksToBounds = false
        
        self.updateShadowColor()
        
        // Remove the following two lines if you experience any issues with shadow rendering:
        self.layer.shouldRasterize = true
        self.layer.rasterizationScale = UIScreen.main.scale
    }

    private func initCorner() {
        var backgroundConfig = UIBackgroundConfiguration.listPlainCell()
        backgroundConfig.backgroundColor = .systemBackground
        backgroundConfig.cornerRadius = 16
        self.backgroundConfiguration = backgroundConfig
    }

layout

private func layoutConfig() -> UICollectionViewCompositionalLayout {
    let layout = UICollectionViewCompositionalLayout { section, layoutEnvironment in
        var config = UICollectionLayoutListConfiguration(appearance: .plain)

        config.headerMode = .none
        config.footerMode = .none
        config.showsSeparators = false
        config.headerTopPadding = 0
        
        config.backgroundColor = nil
        
        config.trailingSwipeActionsConfigurationProvider = { [weak self] indexPath in
            guard let self = self else { return nil }

            // Knowing what we are tapping at.
            var snapshot = dataSource.snapshot()
            let sectionIdentifier = snapshot.sectionIdentifiers[indexPath.section]
            let itemIdentifiers = snapshot.itemIdentifiers(inSection: sectionIdentifier)
            let itemIdentifier: NoteWrapper = itemIdentifiers[indexPath.item]
            
            let deleteHandler: UIContextualAction.Handler = { action, view, completion in
                completion(true)
                
                // TODO:
                //snapshot.reloadItems([itemIdentifier])
            }
            
            let deleteAction = UIContextualAction(style: .normal, title: "Trash", handler: deleteHandler)
            
            var swipeActionsConfiguration =  UISwipeActionsConfiguration(actions: [
                deleteAction,
            ])
            
            deleteAction.image = UIImage(systemName: "trash")
            deleteAction.backgroundColor = UIColor.systemRed
            
            swipeActionsConfiguration.performsFirstActionWithFullSwipe = false
            
            return swipeActionsConfiguration
        }
        
        // https://developer.apple.com/forums/thread/759987
        let layoutSection = NSCollectionLayoutSection.list(using: config, layoutEnvironment: layoutEnvironment)
        layoutSection.interGroupSpacing = 16 // Distance between item.
        layoutSection.contentInsets = NSDirectionalEdgeInsets(
            top: 16,    // Distance between 1st item and its own header.
            leading: 16,
            bottom: 16, // Distance of last item and other header/ bottom edge.
            trailing: 16
        )
        
        return layoutSection
    }
    
    return layout
}

This is the outcome.

However, when I perform swipe action, the shadow effect is gone.

Do you have any idea how I can resolve such? Thanks.

trailingSwipeActionsConfigurationProvider causes shadow effect on UICollectionViewListCell gone
 
 
Q