En aquest tema, aprendrem a utilitzar els Storyboards a Xcode per dissenyar les interfícies d'usuari de les nostres aplicacions. Els Storyboards són una eina visual que ens permet crear i organitzar les vistes i les transicions entre elles de manera intuïtiva.
Objectius del Tema
- Entendre què són els Storyboards i com s'utilitzen.
- Aprendre a afegir i configurar vistes i controls.
- Crear transicions (segues) entre vistes.
- Utilitzar les escenes i els identificadors de Storyboard.
Què és un Storyboard?
Un Storyboard és un fitxer que conté una representació visual de les vistes i les transicions de la teva aplicació. Permet dissenyar la interfície d'usuari de manera gràfica i veure com les diferents vistes es connecten entre elles.
Afegint i Configurant Vistes i Controls
Passos per Afegir una Vista
- Obrir el Storyboard: A Xcode, obre el fitxer
Main.storyboard
. - Afegir una Vista: Arrossega una
View Controller
des de la biblioteca d'objectes fins a l'àrea de treball del Storyboard. - Configurar la Vista: Selecciona la vista i utilitza l'inspector d'atributs per configurar les seves propietats, com ara el títol, el color de fons, etc.
Afegint Controls a la Vista
- Arrossegar Controls: Arrossega controls com botons, etiquetes, camps de text, etc., des de la biblioteca d'objectes fins a la vista.
- Configurar Controls: Selecciona cada control i utilitza l'inspector d'atributs per configurar les seves propietats, com ara el text, el color, les fonts, etc.
Exemple Pràctic
// No és necessari codi Swift per afegir vistes i controls, però aquí tens un exemple de com podries configurar un botó programàticament si fos necessari. @IBOutlet weak var myButton: UIButton! override func viewDidLoad() { super.viewDidLoad() myButton.setTitle("Prem-me", for: .normal) myButton.backgroundColor = UIColor.blue }
Creant Transicions (Segues) entre Vistes
Tipus de Segues
- Show (Push): Mostra una nova vista empentant-la a la pila de navegació.
- Modal: Presenta una nova vista de manera modal.
- Popover: Mostra una vista en un popover (només per a iPad).
Creant una Segue
- Seleccionar el Control: Selecciona el control que iniciarà la transició (per exemple, un botó).
- Control-Drag: Mantingues premuda la tecla
Control
i arrossega des del control fins a la vista de destinació. - Seleccionar el Tipus de Segue: Tria el tipus de segue des del menú contextual que apareix.
Configurant la Segue
- Seleccionar la Segue: Selecciona la segue al Storyboard.
- Configurar la Segue: Utilitza l'inspector d'atributs per configurar les propietats de la segue, com ara l'identificador.
Exemple Pràctic
// Preparant-se per a una segue en el codi override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "showDetail" { if let destinationVC = segue.destination as? DetailViewController { destinationVC.data = "Alguna dada important" } } }
Utilitzant Escenes i Identificadors de Storyboard
Escenes
Cada vista en un Storyboard es coneix com una escena. Pots organitzar les escenes per representar diferents pantalles de la teva aplicació.
Identificadors de Storyboard
Els identificadors de Storyboard són cadenes úniques que identifiquen cada vista o segue. Són útils per referenciar vistes i segues en el codi.
Exemple Pràctic
// Iniciant una vista programàticament utilitzant un identificador de Storyboard if let detailVC = storyboard?.instantiateViewController(withIdentifier: "DetailViewController") as? DetailViewController { detailVC.data = "Alguna dada important" navigationController?.pushViewController(detailVC, animated: true) }
Exercicis Pràctics
- Crear una Vista amb Controls: Crea una nova vista en el Storyboard i afegeix-hi un botó i una etiqueta. Configura el botó perquè canviï el text de l'etiqueta quan es premi.
- Crear una Segue: Afegeix una segue entre dues vistes i configura-la perquè es mostri quan es premi un botó.
- Utilitzar un Identificador de Storyboard: Crea una nova vista amb un identificador de Storyboard i inicia-la programàticament des d'una altra vista.
Solucions
- Crear una Vista amb Controls
@IBOutlet weak var myLabel: UILabel! @IBAction func buttonPressed(_ sender: UIButton) { myLabel.text = "Botó premut!" }
- Crear una Segue
- Arrossega un botó a la primera vista.
- Control-Drag des del botó fins a la segona vista.
- Selecciona "Show" com a tipus de segue.
- Utilitzar un Identificador de Storyboard
if let newVC = storyboard?.instantiateViewController(withIdentifier: "NewViewController") { navigationController?.pushViewController(newVC, animated: true) }
Conclusió
En aquest tema, hem après a utilitzar els Storyboards per dissenyar les interfícies d'usuari de les nostres aplicacions. Hem vist com afegir i configurar vistes i controls, crear transicions entre vistes i utilitzar escenes i identificadors de Storyboard. Amb aquests coneixements, estàs preparat per crear interfícies d'usuari més complexes i intuïtives a Xcode.
Dominar Xcode: De Principiant a Avançat
Mòdul 1: Introducció a Xcode
- Començant amb Xcode
- Entenent la Interfície de Xcode
- Creant el teu Primer Projecte Xcode
- Navegació Bàsica de Xcode
Mòdul 2: Conceptes Bàsics de Swift a Xcode
- Introducció a la Programació en Swift
- Variables i Constants
- Tipus de Dades i Operadors
- Flux de Control
- Funcions i Closures
Mòdul 3: Construint Interfícies d'Usuari
- Introducció a Interface Builder
- Dissenyant amb Storyboards
- Auto Layout i Constriccions
- Utilitzant les Previsualitzacions de Xcode
- Creant Components UI Personalitzats
Mòdul 4: Treballant amb Dades
Mòdul 5: Depuració i Proves
- Conceptes Bàsics de Depuració
- Utilitzant Breakpoints
- Proves Unitàries
- Proves d'Interfície d'Usuari
- Proves de Rendiment
Mòdul 6: Funcions Avançades de Xcode
- Utilitzant Instruments per a l'Optimització del Rendiment
- Tècniques Avançades de Depuració
- Configuracions de Compilació Personalitzades
- Scripting amb Xcode
- Integració amb Sistemes d'Integració Contínua
Mòdul 7: Desplegament d'Aplicacions
- Preparant per a la Submissió a l'App Store
- Creant Captures de Pantalla per a l'App Store
- Gestionant les Metadades de l'App Store
- Enviant la teva Aplicació
- Millors Pràctiques Post-Submissió