Fondamenti di CALayer
Lavori con layer, proprietà e gerarchie.
Fondamenti di CALayer è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.
Che cos’è un CALayer?
CALayer è il livello di supporto di tutto ciò che vede in UIKit. Ogni UIView viene disegnata da un layer che conserva il contenuto visivo come texture sulla GPU.
Lavorare direttamente con i layer consente di sfruttare grafica e animazioni accelerate dall’hardware.
import UIKit
let layer = CALayer()I layer dietro le viste
Ogni vista ha una proprietà layer. Impostare le proprietà del layer è spesso più semplice ed economico rispetto al disegno personalizzato.
view.layer.cornerRadius = 12
view.layer.masksToBounds = trueGeometria: frame, bounds, position
Un layer ha bounds, ovvero il proprio sistema di coordinate, position, ovvero la posizione del proprio anchor nel genitore, e un frame derivato. Modificandone uno, gli altri vengono aggiornati.
let layer = CALayer()
layer.bounds = CGRect(x: 0, y: 0, width: 100, height: 100)
layer.position = CGPoint(x: 150, y: 150)Il punto di ancoraggio
anchorPoint (per impostazione predefinita 0.5, 0.5 = centro) definisce l’origine del layer per il posizionamento e le trasformazioni. Rotazioni e ridimensionamenti avvengono attorno a questo punto.
layer.anchorPoint = CGPoint(x: 0, y: 0) // top-left pivotProprietà visive
I layer espongono direttamente le proprietà dello stile visivo: backgroundColor (un CGColor), cornerRadius, borderWidth, borderColor e opacity.
layer.backgroundColor = UIColor.systemBlue.cgColor
layer.cornerRadius = 8
layer.borderWidth = 2
layer.borderColor = UIColor.white.cgColorOmbre
I layer disegnano le ombre con shadowColor, shadowOpacity, shadowOffset e shadowRadius. Imposti un shadowPath per ottenere prestazioni migliori.
layer.shadowColor = UIColor.black.cgColor
layer.shadowOpacity = 0.3
layer.shadowOffset = CGSize(width: 0, height: 4)
layer.shadowRadius = 6Sublayer
I layer formano un albero. Aggiunga elementi figli con addSublayer; questi vengono posizionati nel sistema di coordinate del genitore.
let parent = CALayer()
let child = CALayer()
child.frame = CGRect(x: 10, y: 10, width: 40, height: 40)
parent.addSublayer(child)Tipi di layer specializzati
UIKit include sottoclassi di layer: CAShapeLayer (percorsi vettoriali), CAGradientLayer (gradienti), CATextLayer (testo) e CAReplicatorLayer (elementi figli duplicati).
let shape = CAShapeLayer()
shape.path = UIBezierPath(ovalIn: CGRect(x: 0, y: 0, width: 50, height: 50)).cgPath
shape.fillColor = UIColor.systemRed.cgColorLayer con gradiente
CAGradientLayer esegue il rendering di sfumature uniformi tra colori definite da colors, locations, startPoint ed endPoint.
let gradient = CAGradientLayer()
gradient.colors = [UIColor.systemBlue.cgColor, UIColor.systemPurple.cgColor]
gradient.startPoint = CGPoint(x: 0, y: 0)
gradient.endPoint = CGPoint(x: 1, y: 1)contentsScale e nitidezza
Imposti contentsScale sul fattore di scala dello schermo, così il contenuto disegnato dal layer sarà nitido sui display Retina. Dimenticarlo produce testo e forme sfocati.
layer.contentsScale = UIScreen.main.scaleI layer sono leggeri
I layer non gestiscono gli eventi touch né Auto Layout; sono oggetti puramente visivi. Per questo sono più economici delle viste per contenuti decorativi o animati.
Verifica rapida: CALayer
Verifichi la sua comprensione dei fondamenti di CALayer.
Riepilogo: fondamenti di CALayer
CALayer sta alla base di ogni vista UIKit e offre elementi visivi accelerati dalla GPU: geometria con bounds/position/anchorPoint, stile (raggio degli angoli, bordi, ombre) e un albero di sublayer.
Le sottoclassi specializzate gestiscono forme, gradienti, testo e replicazione. Imposti contentsScale per ottenere nitidezza e ricordi che i layer sono oggetti visivi leggeri, senza supporto per touch o Auto Layout. Questa base alimenta le animazioni che seguono.
Domande Frequenti
La lezione «Fondamenti di CALayer» è gratuita?
Sì — il testo completo di «Fondamenti di CALayer» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.
Cosa imparerò in «Fondamenti di CALayer»?
Lavori con layer, proprietà e gerarchie. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Swift Academy?
Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Fondamenti di CALayer»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Swift Academy?
Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Fondamenti di CALayer
- Animazioni implicite ed esplicite
- Trasformazioni ed effetti 3D
- Disegno personalizzato con Core Graphics