Middle
Miért szükséges egy UIView, ha már van CALayer?
sobes.tech MI
Válasz az MI-től
A UIView egy magas szintű absztrakció, amely a következőket nyújtja:
- Érintéses és gesztus események kezelése.
- Az alnézetek (subviews) fa kezelését.
- Automatikus elrendezés támogatása (Auto Layout és régi Autoresizing Masks).
- Speciális viselkedés alosztályokon keresztül (pl.
UIButton,UILabel,UIImageView). - Beépítés a UIKit-ba és a UIViewController életciklusába.
- Egy kényelmes mechanizmus a tartalom érvénytelenítésére és újrarajzolására (
setNeedsDisplay()).
A CALayer a Core Animation alacsony szintű összetevője, amely a vizuális megjelenítésért felelős:
- Tartalmaz egy raszteres képet (bitmap) vagy grafikus primitíveket.
- A pozícionálásért, transzformációkért, árnyékokért, határokért stb. felelős.
- Az animációk alapja.
- Nem kezeli közvetlenül az érintéses eseményeket.
A UIView egy vagy több CALayer-t tartalmaz a tartalom megjelenítéséhez és a felhasználóval való interakció kezeléséhez a hierarchiában. A CALayer, mivel primitívebb, nem nyújt ugyanazt a funkcionalitási szintet a felhasználói felületek építéséhez a UIKit-ban.