Middle
Zašto je potreban UIView ako već imamo CALayer?
sobes.tech АИ
Одговор од АИ
UIView je visokorazredna apstrakcija koja pruža:
- Obradu događaja dodira i gestova.
- Upravljanje drvetom podvizuala (subviews).
- Podršku za auto layout (Auto Layout i stare maske za promenu veličine).
- Specijalizovano ponašanje putem podklasa (npr.,
UIButton,UILabel,UIImageView). - Integraciju sa UIKit i životni ciklus UIViewController.
- Praktičan mehanizam za nevažeće i ponovno crtanje sadržaja (
setNeedsDisplay()).
CALayer je komponenta niskog nivoa Core Animation koja je odgovorna za vizuelnu prezentaciju:
- Sadrži rastresnu sliku (bitmapu) ili grafičke primitivne oblike za prikaz.
- Odgovorna je za pozicioniranje, transformacije, senke, granice itd.
- Služi kao osnova za animacije.
- Ne obrađuje direktno događaje dodira.
UIView sadrži jednu ili više CALayer za prikaz svog sadržaja i upravljanje interakcijom sa korisnikom i drugim prikazima u hijerarhiji. CALayer, kao primitivesniji, ne pruža isti nivo funkcionalnosti za izgradnju korisničkog interfejsa u UIKit-u.