2017
इस प्रश्न का शाब्दिक उत्तर:
"कैलेयर्स को इसके यूआईवीवाई की सीमा परिवर्तन पर आकार नहीं मिला। क्यों?"
यह बेहतर या बदतर के लिए है
needsDisplayOnBoundsChange
झूठे में चूक 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
सेटिंग करता है; आपको आमतौर पर समान रूप से सेट करने की आवश्यकता होती है कि आप कब सेट करते हैं। डिसप्लेऑनबाउंडसचेंज।