2017 рік
Буквальна відповідь на це питання:
"Користувачі CAL не отримали змін у зміні меж його UIView. Чому?"
це на краще чи гірше
needsDisplayOnBoundsChange
за замовчуванням у false в CALayer
.
рішення,
class CircularGradientViewLayer: CALayer {
override init() {
super.init()
needsDisplayOnBoundsChange = true
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override open func draw(in ctx: CGContext) {
go crazy drawing in .bounds
}
}
Дійсно, я направляю вас до цієї якості
https://stackoverflow.com/a/47760444/294884
що пояснює, що, до біса, критична contentsScale
установка; зазвичай потрібно однаково встановити, що при встановленні потребDisplayOnBoundsChange.