У меня есть просмотр коллекции с 30 элементами и вы хотите что-то сделать на прессе. Я делаю это так:didSelectItemAtIndexPath, изменяющий несколько ячеек в UICollectionView
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let cell = collectionView.cellForItemAtIndexPath(indexPath) as! ItemCell
var translucentView = ILTranslucentView(frame: CGRectMake(0, 0, cell.contentView.frame.size.width, cell.contentView.frame.size.height))
translucentView.translucentAlpha = 0.9
translucentView.translucentStyle = UIBarStyle.BlackTranslucent
translucentView.translucentTintColor = UIColor.clearColor()
translucentView.backgroundColor = UIColor.clearColor()
translucentView.alpha = 0.0
cell.contentView.addSubview(translucentView)
UIView.animateWithDuration(0.4, animations: {
translucentView.alpha = 1.0
})
}
Функция работает, как ожидалось, однако, похоже, не только на повернутой клетки, но и на ячейке в том же положении, что не видно на экране вид. Итак, если на экране есть 3 видимые ячейки, и я нажимаю на номер 1, затем, когда я просматриваю вид, был добавлен в ячейку 4, 7 и т. Д.
The translucentView должен оставаться там всегда, пока пользователь не нажмет снова на ячейку. Он может исчезнуть, когда пользователь прокручивает и эта ячейка больше не видна. – Alessandro
Вы разрешаете множественный выбор в 'CollectionView'? – Bannings
Нет, но что это связано с тем, что представление добавляется в несколько ячеек? – Alessandro