Grundlagen von CALayer
Arbeiten Sie mit Layern, ihren Eigenschaften und ihrer Hierarchie.
Grundlagen von CALayer ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein CALayer?
CALayer ist die Grundlage für die Darstellung aller Elemente, die Sie in UIKit sehen. Jede UIView wird von einem Layer gezeichnet, der ihren visuellen Inhalt als Textur auf der GPU hält.
Die direkte Arbeit mit Layern ermöglicht hardwarebeschleunigte Grafiken und Animationen.
import UIKit
let layer = CALayer()Layer hinter Views
Jede View besitzt eine Eigenschaft layer. Das Setzen von Layer-Eigenschaften ist oft einfacher und günstiger als eigenes Zeichnen.
view.layer.cornerRadius = 12
view.layer.masksToBounds = trueGeometrie: frame, bounds, position
Ein Layer besitzt bounds, also sein eigenes Koordinatensystem, position, also die Position seines Ankerpunkts im übergeordneten Element, sowie ein daraus abgeleitetes frame. Wenn Sie einen dieser Werte ändern, werden die anderen aktualisiert.
let layer = CALayer()
layer.bounds = CGRect(x: 0, y: 0, width: 100, height: 100)
layer.position = CGPoint(x: 150, y: 150)Der Ankerpunkt
anchorPoint, standardmäßig 0.5, 0.5, also die Mitte, definiert den Ursprung des Layers für Positionierung und Transformationen. Drehungen und Skalierungen erfolgen um diesen Punkt.
layer.anchorPoint = CGPoint(x: 0, y: 0) // top-left pivotVisuelle Eigenschaften
Layer stellen visuelle Gestaltung direkt bereit: backgroundColor, ein CGColor, cornerRadius, borderWidth, borderColor und opacity.
layer.backgroundColor = UIColor.systemBlue.cgColor
layer.cornerRadius = 8
layer.borderWidth = 2
layer.borderColor = UIColor.white.cgColorSchatten
Layer zeichnen Schatten mit shadowColor, shadowOpacity, shadowOffset und shadowRadius. Setzen Sie für bessere Performance einen shadowPath.
layer.shadowColor = UIColor.black.cgColor
layer.shadowOpacity = 0.3
layer.shadowOffset = CGSize(width: 0, height: 4)
layer.shadowRadius = 6Sublayer
Layer bilden einen Baum. Fügen Sie mit addSublayer untergeordnete Layer hinzu. Diese werden im Koordinatensystem des übergeordneten Layers positioniert.
let parent = CALayer()
let child = CALayer()
child.frame = CGRect(x: 10, y: 10, width: 40, height: 40)
parent.addSublayer(child)Spezialisierte Layer-Typen
UIKit liefert Unterklassen von Layern: CAShapeLayer für Vektorpfade, CAGradientLayer für Farbverläufe, CATextLayer für Text und CAReplicatorLayer für duplizierte untergeordnete Elemente.
let shape = CAShapeLayer()
shape.path = UIBezierPath(ovalIn: CGRect(x: 0, y: 0, width: 50, height: 50)).cgPath
shape.fillColor = UIColor.systemRed.cgColorVerlaufs-Layer
CAGradientLayer rendert weiche Farbübergänge, die durch colors, locations, startPoint und endPoint definiert werden.
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 und Schärfe
Setzen Sie contentsScale auf die Bildschirmauflösung, damit von Layern gezeichnete Inhalte auf Retina-Displays scharf erscheinen. Wird dieser Wert vergessen, werden Text und Formen unscharf dargestellt.
layer.contentsScale = UIScreen.main.scaleLayer sind leichtgewichtig
Layer verarbeiten weder Touch-Ereignisse noch Auto Layout. Sie sind rein visuelle Objekte und daher für dekorative oder animierte Inhalte günstiger als Views.
Schnelltest: CALayer
Testen Sie Ihr Verständnis der Grundlagen von CALayer.
Zusammenfassung: Grundlagen von CALayer
CALayer bildet die Grundlage jeder UIKit-View und bietet GPU-beschleunigte Darstellung: Geometrie mit bounds/position/anchorPoint, Gestaltung mit Eckenradius, Rahmen und Schatten sowie einen Baum aus Sublayern.
Spezialisierte Unterklassen verarbeiten Formen, Farbverläufe, Text und Replikation. Setzen Sie contentsScale für scharfe Darstellung und denken Sie daran, dass Layer leichtgewichtige visuelle Objekte ohne Touch-Verarbeitung oder Auto Layout sind. Diese Grundlage ermöglicht die folgenden Animationen.
Lerne Swift mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 122
- Lektionen
- 409
Häufig gestellte Fragen
Ist die Lektion „Grundlagen von CALayer“ kostenlos?
Ja — der vollständige Text von „Grundlagen von CALayer“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Grundlagen von CALayer“?
Arbeiten Sie mit Layern, ihren Eigenschaften und ihrer Hierarchie. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Swift Academy zu starten?
Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Grundlagen von CALayer“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?
Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Grundlagen von CALayer
- Implizite und explizite Animationen
- Transformationen und 3D-Effekte
- Benutzerdefiniertes Zeichnen mit Core Graphics