Если кратко:
clipsToBounds - используется для вью,
masksToBounds - для слоя.
clipsToBounds:
- Используется для UIView.
- Контролирует обрезку дочерних вью (subviews).
- Если значении true - всё, что выходит за границы родителя, будет скрыто.
Пример использования clipsToBounds:
let myView = UIView()
myView.clipsToBounds = true // обрезаем subviews
masksToBounds:
- Используется для CALayer.
- Контролирует обрезку контента слоя (изображения, тени, закруглении).
- При значении true - обрезает всё, включая тени и выходящие за границы части изображения.
Пример использования masksToBounds:
let myLayer = CALayer()
myLayer.masksToBounds = true // обрезаем изображение/тень
myLayer.cornerRadius = 10 // закругляем углы, будет работать если masksToBounds является true