2017 г.
Буквальный ответ на этот вопрос:
«Размер CALayers не изменился при изменении границ 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
}
}
Действительно, направляю вас в этот QA
https://stackoverflow.com/a/47760444/294884
что объясняет, что, черт возьми, contentsScale
делает критическая настройка; вам обычно необходимо установить это одинаково при установке needsDisplayOnBoundsChange.