SwiftUI Advanced
Layout protocol, preference keys, GeometryReader, matchedGeometryEffect, ViewBuilder
1Was ist das Layout-Protocol in SwiftUI?
Was ist das Layout-Protocol in SwiftUI?
Antwort
Das Layout-Protocol ermöglicht das Erstellen benutzerdefinierter View-Container, indem definiert wird, wie Subviews positioniert und dimensioniert werden. Es ersetzt manuelle GeometryReader-Ansätze für komplexe Layouts und bietet eine deklarative und komponierbare API zum Erstellen anspruchsvoller View-Anordnungen.
2Wie implementiert man ein benutzerdefiniertes Layout durch Konformität mit dem Layout-Protokoll?
Wie implementiert man ein benutzerdefiniertes Layout durch Konformität mit dem Layout-Protokoll?
Antwort
Die Implementierung von Layout erfordert die Definition zweier Hauptmethoden: sizeThatFits, das die Gesamtgröße des Containers zurückgibt, und placeSubviews, das jede Subview anhand von Platzierungsvorschlägen positioniert. Diese Methoden arbeiten zusammen, um ein kohärentes und vorhersehbares Layout-System zu schaffen.
3Was ist der Hauptvorteil der Verwendung des Layout-Protokolls gegenüber GeometryReader?
Was ist der Hauptvorteil der Verwendung des Layout-Protokolls gegenüber GeometryReader?
Antwort
Das Layout-Protokoll bietet einen komponierbaren und wiederverwendbaren Ansatz für Layouts, während GeometryReader oft imperativen Code in jeder View erfordert. Layout trennt die Platzierungslogik von der Rendering-Logik und verbessert so die Testbarkeit und Wartbarkeit der Komponenten.
Wie übergibt man Konfigurationsparameter an ein benutzerdefiniertes Layout?
Wann sollte man GeometryReader anstelle des Layout-Protokolls verwenden?
+19 Interview-Fragen
Weitere iOS-Interviewthemen
Swift-Grundlagen
Grundlagen der Swift-Sprache
UIKit-Grundlagen
UIViewController-Lebenszyklus
UserDefaults & Keychain
Anwendungslebenszyklus
Auto Layout & Constraints
UITableView & UICollectionView
SwiftUI-Grundlagen
SwiftUI State-Management
SwiftUI-Navigation
Networking & URLSession
Codable & JSON-Parsing
Core Data
Protokollorientierte Programmierung
MVVM-Architektur
Push-Benachrichtigungen
Unit-Testing & XCTest
UI-Tests
Xcode & Build-System
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Performance-Optimierung
Sicherheit und Verschlüsselung
iOS-Anwendungsarchitektur
Meistere iOS für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten