Junior — Middle
Aké sú rozdiely medzi CoreGraphics a CoreAnimation a kedy je vhodnejšie použiť každú z týchto technológií?
sobes.tech AI
Odpoveď od AI
CoreGraphics je nízkoúrovňová 2D grafická knižnica, ktorá umožňuje kreslenie čiar, tvarov, textu a obrázkov priamo v grafickom kontexte. Funguje na CPU a používa sa na tvorbu statických alebo dynamických rastrových obrázkov, napríklad pri vlastnom kreslení UIView.
CoreAnimation je vysokorozsahová technológia animácie, ktorá beží na GPU a umožňuje vytvárať plynulé animácie a transformácie vrstiev (CALayer). Je optimalizovaná pre animácie rozhrania a riadenie vizuálnych efektov bez potreby manuálneho prekresľovania obsahu.
Kedy použiť:
- CoreGraphics je vhodný, ak potrebujete kresliť vlastný obsah (napríklad grafy, diagramy, zložité tvary) s presnou kontrolou nad pixelmi.
- CoreAnimation je lepšia na animáciu vlastností vrstiev (poloha, veľkosť, priehľadnosť), tvorbu prechodov a vizuálnych efektov, kde je dôležitý výkon a plynulosť.
Príklad použitia CoreAnimation na animáciu priehľadnosti:
let layer = CALayer()
layer.opacity = 0.0
let animation = CABasicAnimation(keyPath: "opacity")
animation.fromValue = 0.0
animation.toValue = 1.0
animation.duration = 1.0
layer.add(animation, forKey: "fadeIn")
layer.opacity = 1.0