Junior
iOS inkişafı kontekstində qat (layer) nədir?
sobes.tech Süni İntellekt
AI-dan cavab
(CALayer) obyekti, (UIView) görüntüsünün vizual məzmununu idarə edən bir obyektdir. Görünüşlər ekranında öz məzmunlarını çəkmək üçün qatlamlardan istifadə edir. Qatlamlar toxunma hadisələrini işlətmir, görünüşlərdən fərqli olaraq.
Qatlamaların əsas funksiyaları:
- Məzmunun göstərilməsi (şəkillər, mətn, qrafiklər).
- Coğrafiyanın idarə olunması (mövqe, ölçü, döndürmə).
- Görünüşün görünüşünü tənzimləmək (fon, sərhədlər, kölgələr, yuvarlaq künclər).
- Animasiya dəstəyi (qeyri-müəyyən və açıq).
CALayer-in əsas xüsusiyyətləri:
contents:Any?- Qatlamanın məzmunu, adətənCGImage.frame:CGRect- Qatlamanınsuperlayer-ə nisbətən mövqeyi və ölçüsü.bounds:CGRect- Qatlamanın öz koordinat sistemində mövqeyi və ölçüsü.position:CGPoint- Qatlamanınsuperlayer-ə nisbətən mərkəzi.anchorPoint:CGPoint- Qatlamanın çevrilmələrin baş verdiyi nöqtəsi, normalizə olunmuş koordinatlarda (0-dan 1-ə qədər).backgroundColor:CGColor?- Qatlamanın fon rəngi.borderColor:CGColor?- Qatlamanın sərhəd rəngi.borderWidth:CGFloat- Sərhədin eni.cornerRadius:CGFloat- Yuvarlaq künclərin radiusu.shadowColor:CGColor?- Kölgənin rəngi.shadowOpacity:Float- Kölgənin şəffaflığı (0-dan 1-ə qədər).shadowOffset:CGSize- Kölgənin köçürülməsi.shadowRadius:CGFloat- Kölgənin bulanıqlaşma radiusu.opacity:Float- Qatlamanın şəffaflığı.isHidden:Bool- Qatlamanın gizli olub olmadığını müəyyən edir.transform:CATransform3D- Qatlamanın üçölçülü çevrilməsi.
Qatlamaların hierarxiyası:
Qatlamlar, görünüşlərə bənzər hierarxiyanı təşkil edir. Hər bir qatlamın superlayer və sublayers array-i ola bilər.
İstifadəsi:
UIView-lər öz əsas qatlamına (layer) malikdir və ona daxil olmaqla onun vizual xüsusiyyətlərinə və animasiyalarına əlçatanlıq təmin edir. Daha mürəkkəb vizual effektlər yaratmaq üçün əlavə qatlamlar da əlavə oluna bilər.
Görünüş qatlamına nümunə:
// Görünüşün fon rəngini onun qatlamı vasitəsilə dəyişmək
myView.layer.backgroundColor = UIColor.red.cgColor
// Görünüşün qatlamına kölgə əlavə etmək
myView.layer.shadowColor = UIColor.black.cgColor
myView.layer.shadowOpacity = 0.5
myView.layer.shadowOffset = CGSize(width: 2, height: 2)
myView.layer.shadowRadius = 4