Swift 4 Решение для создания UICollectionViewCell round и добавления Shadows без каких-либо расширений и осложнений:)
Примечание. Для простых видов, например кнопок. См. Ответ @ suragch's в этом сообщении. https://stackoverflow.com/a/34984063/7698092 . Протестировано успешно для кнопок
В случае, если кто-то все еще пытается обогнуть углы и одновременно добавлять тени. Хотя это решение работает с UICollectionViewCell, оно может быть обобщено на любой взгляд.
Этот метод работал для меня без каких-либо расширений и всех сложных вещей. Я работаю с storyBoard.
Technique
Вы должны добавить UIView (скажем, «containerView») внутри вашего UICollectionViewCell в storyBoard и добавить все необходимые представления (кнопки, изображения и т. д.) внутри этого контейнера. См. Скриншот.
Подключите розетку для контейнераView. Добавьте следующие строки кода в функцию делегата CellforItemAtIndexPath.
//adds shadow to the layer of cell
cell.layer.cornerRadius = 3.0
cell.layer.masksToBounds = false
cell.layer.shadowColor = UIColor.black.cgColor
cell.layer.shadowOffset = CGSize(width: 0, height: 0)
cell.layer.shadowOpacity = 0.6
//makes the cell round
let containerView = cell.containerView!
containerView.layer.cornerRadius = 8
containerView.clipsToBounds = true
Выход