Middle
Prečo je potrebný UIView, ak už máme CALayer?
sobes.tech AI
Odpoveď od AI
UIView je vysokorozsahová abstrakcia, ktorá poskytuje:
- Spracovanie udalostí dotyku a gest.
- Správu stromu podvizuálov (subviews).
- Podporu pre auto layout (Auto Layout a staré masky na zmenu veľkosti).
- Špecializované správanie cez podtriedy (napríklad
UIButton,UILabel,UIImageView). - Integráciu s UIKit a životný cyklus UIViewController.
- Pohodlný mechanizmus na neplatnosť a prekreslenie obsahu (
setNeedsDisplay()).
CALayer je nízkoúrovňová zložka Core Animation, ktorá je zodpovedná za vizuálnu reprezentáciu:
- Obsahuje rastrový obrázok (bitmapu) alebo grafické primitíva na zobrazenie.
- Je zodpovedná za pozicionovanie, transformácie, tiene, hranice atď.
- Slúži ako základ pre animácie.
- Nespracováva priamo udalosti dotyku.
UIView obsahuje jednu alebo viac CALayer na zobrazenie svojho obsahu a správu interakcie s používateľom a ďalšími pohľadmi v hierarchii. CALayer, ako primitívnejšia, neposkytuje rovnakú úroveň funkčnosti pre tvorbu používateľských rozhraní v UIKit.