SwiftUI Advanced
Layout protocol, preference keys, GeometryReader, matchedGeometryEffect, ViewBuilder
1Cos'è il protocollo Layout in SwiftUI?
Cos'è il protocollo Layout in SwiftUI?
Risposta
Il protocollo Layout consente di creare contenitori di viste personalizzati definendo come le sottoviste vengono posizionate e dimensionate. Sostituisce gli approcci manuali con GeometryReader per layout complessi, offrendo un'API dichiarativa e componibile per costruire disposizioni di viste sofisticate.
2Come implementare un layout personalizzato conformandosi al protocollo Layout?
Come implementare un layout personalizzato conformandosi al protocollo Layout?
Risposta
Implementare Layout richiede di definire due metodi principali: sizeThatFits, che restituisce la dimensione totale del contenitore, e placeSubviews, che posiziona ogni subview usando proposte di posizionamento. Questi metodi lavorano insieme per creare un sistema di layout coerente e prevedibile.
3Qual è il vantaggio principale dell'uso del protocollo Layout rispetto a GeometryReader?
Qual è il vantaggio principale dell'uso del protocollo Layout rispetto a GeometryReader?
Risposta
Il protocollo Layout offre un approccio componibile e riutilizzabile per i layout, mentre GeometryReader richiede spesso codice imperativo in ogni view. Layout separa la logica di posizionamento dalla logica di rendering, migliorando la testabilità e la manutenibilità dei componenti.
Come passare parametri di configurazione a un layout personalizzato?
Quando usare GeometryReader invece del protocollo Layout?
+19 domande da colloquio
Altri argomenti di colloquio iOS
Fondamenti di Swift
Fondamenti del linguaggio Swift
Fondamenti di UIKit
Ciclo di vita di UIViewController
UserDefaults & Keychain
Ciclo di vita dell'applicazione
Auto Layout & Constraints
UITableView & UICollectionView
Fondamenti di SwiftUI
Gestione dello stato in SwiftUI
Navigazione SwiftUI
Networking & URLSession
Codable e parsing JSON
Core Data
Programmazione orientata ai protocolli
Architettura MVVM
Notifiche Push
Test unitari & XCTest
Test dell'interfaccia utente
Xcode e sistema di build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Ottimizzazione delle prestazioni
Sicurezza e crittografia
Architettura delle applicazioni iOS
Padroneggia iOS per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis