AntonBrock
@AntonBrock
screen light

Как добавить тень к кастомной cell в UICollectionView, если masksToBounds ломает UI?

Проблема:
Заключается в том, что мне нужно добавить тень к кастомным cell в UICollectionView, если
cell.layer.masksToBounds = false тень добавляется, но ломается UI (скрин 1)
С masksToBounds = true - тени нет, но весь UI правильный (скрин 2)

Реализация:
Констрейнты не добавлял
Сам я пытаюсь дать тень при определение cell. в dataSource делегате
Вот так:
// cell.layer.masksToBounds = false // or true
cell.layer.shadowColor = #colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1) // grey
 cell.layer.shadowOffset = CGSize(width: 2.0, height: 4.0)
 cell.layer.shadowRadius = 2.0
 cell.layer.shadowOpacity = 1.0


У меня сама cell находится в .xib файле, также размеры указал свои для ячейки
Вопрос:
Как задать тень для ячейки, не ломая UI? Пробовал в контроллере для xib не получилось.

5e4bf10ed236d506009351.png
5e4bf16129298740064674.png
  • Вопрос задан
  • 269 просмотров
Решения вопроса 1
ivanvorobei
@ivanvorobei
iOS разработчик, канал https://t.me/sparrowcode
Нужно сделать контейнер-маску. Создаете вью с размером ячейки, ей ставите маску. Все сабвьюхи на этот контейнер, теперь для них применяются правила маски.
Тень применяете к самой ячейке - она не будет резаться маской контейнера.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы