SwiftUI Advanced
Layout protocol, preference keys, GeometryReader, matchedGeometryEffect, ViewBuilder
1Qu'est-ce que le protocole Layout en SwiftUI ?
Qu'est-ce que le protocole Layout en SwiftUI ?
Réponse
Le protocole Layout permet de créer des conteneurs de vues personnalisés en définissant comment les sous-vues sont positionnées et dimensionnées. Il remplace les approches manuelles avec GeometryReader pour les layouts complexes, offrant une API déclarative et composable pour construire des arrangements de vues sophistiqués.
2Comment implémenter un layout personnalisé en conformant au protocole Layout ?
Comment implémenter un layout personnalisé en conformant au protocole Layout ?
Réponse
Implémenter Layout nécessite de définir deux méthodes principales : sizeThatFits qui retourne la taille totale du conteneur, et placeSubviews qui positionne chaque sous-vue en utilisant ses propositions de placement. Ces méthodes travaillent ensemble pour créer un système de layout cohérent et prévisible.
3Quel est l'avantage principal d'utiliser le protocole Layout par rapport à GeometryReader ?
Quel est l'avantage principal d'utiliser le protocole Layout par rapport à GeometryReader ?
Réponse
Le protocole Layout offre une approche composable et réutilisable pour les layouts, tandis que GeometryReader impose souvent du code impératif dans chaque vue. Layout sépare la logique de disposition de la logique de rendu, améliorant la testabilité et la maintenabilité des composants.
Comment passer des paramètres de configuration à un layout personnalisé ?
Quand utiliser GeometryReader plutôt que le protocole Layout ?
+19 questions d'entretien
Autres sujets d'entretien iOS
Les bases de Swift
Essentiels du langage Swift
Fondamentaux UIKit
Cycle de vie UIViewController
UserDefaults & Keychain
Cycle de vie de l'application
Auto Layout & Constraints
UITableView & UICollectionView
Les bases de SwiftUI
Gestion d'état SwiftUI
Navigation SwiftUI
Networking & URLSession
Codable & Parsing JSON
Core Data
Programmation orientée protocoles
Architecture MVVM
Notifications Push
Tests unitaires & XCTest
Tests d'interface utilisateur
Xcode & Système de build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Performance Optimization
Security & Encryption
iOS Application Architecture
Maîtrise iOS pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement