En kolay çözüm örtülü animasyonlar kullanmaktır. Bu sizin için tüm bu sorunların üstesinden gelecektir:
self.layer?.backgroundColor = NSColor.red.cgColor;
Süreyi özelleştirmek istiyorsanız, aşağıdakileri kullanabilirsiniz NSAnimationContext
:
NSAnimationContext.beginGrouping();
NSAnimationContext.current.duration = 0.5;
self.layer?.backgroundColor = NSColor.red.cgColor;
NSAnimationContext.endGrouping();
Not: Bu yalnızca macOS'ta test edilir.
Başlangıçta bunu yaparken hiç animasyon görmedim. Sorun, bir görünüşüdür destekli tabakanın tabaka yapmasıdır olmayan kapalı animasyon. Bunu çözmek için, kendiniz bir katman eklediğinizden emin olun (görünümü katman destekli olarak ayarlamadan önce).
Bunun nasıl yapılacağıyla ilgili bir örnek:
override func awakeFromNib() {
self.layer = CALayer();
//self.wantsLayer = true;
}
Kullanmak self.wantsLayer
testlerimde herhangi bir fark yaratmadı, ama bilmediğim bazı yan etkileri olabilir.
.presentation()
şekilde "nihai, görülen" değeri elde etmeye bakıyorsunuz . Aşağıda, sunum katmanıyla yapıldığını açıklayan doğru cevapları arayın.