Как я могу получить indexPath UICollectionViewCell и сохранить его - PullRequest
0 голосов
/ 02 октября 2018

У меня есть UICollectionView, в котором 48 квадратов.Я хочу, чтобы код знал, какой UICollectionViewCell выбран пользователем.После того, как UICollectionViewCell выбран пользователем, пользователь должен нажать на цвет, который также находится в этом VC.

Как получить выбранную ячейку?

Я сделал это:

func selectedCell (at indexPath: IndexPath) {
    let indexPathForFirstRow = indexPath
    gamePad.selectItem(at: indexPathForFirstRow, animated: false, scrollPosition: UICollectionView.ScrollPosition(rawValue: 0))
}

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    let cell: UICollectionViewCell = gamePad.cellForItem(at: indexPath)!

    switch cell.backgroundColor {
    case UIColor.lightGray:
        cell.backgroundColor = UIColor.gray
    case UIColor.gray:
        cell.backgroundColor = UIColor.lightGray
    default:
        break
    }
}

1 Ответ

0 голосов
/ 02 октября 2018

Попробуйте этот код

func selectedCell(forCell cell: UITableViewCell) -> IndexPath? {
        let cellPosition: CGPoint = cell.convert(CGPoint.zero, to: self)
        return self.indexPathForRow(at: cellPosition)
    }
...