// // CollectionViewController.swift // Tusker // // Created by Shadowfacts on 11/29/22. // Copyright © 2022 Shadowfacts. All rights reserved. // import UIKit @MainActor protocol CollectionViewController: UIViewController { var collectionView: UICollectionView! { get } } extension CollectionViewController { func clearSelectionOnAppear(animated: Bool) { guard let indexPath = collectionView.indexPathsForSelectedItems?.first else { return } if let transitionCoordinator { transitionCoordinator.animate { context in self.collectionView.deselectItem(at: indexPath, animated: true) } completion: { context in if context.isCancelled { self.collectionView.selectItem(at: indexPath, animated: false, scrollPosition: [] /* UICollectionViewScrollPositionNone */) } } } else { collectionView.deselectItem(at: indexPath, animated: animated) } } }