En aquest tema, explorarem els conceptes fonamentals de les vistes i els controladors de vista en el desenvolupament d'aplicacions per a iOS utilitzant Objective-C. Aprendrem com crear i gestionar vistes, així com com utilitzar controladors de vista per organitzar i controlar la interfície d'usuari.

Continguts

Introducció a les Vistes

Les vistes són els components bàsics de la interfície d'usuari en una aplicació iOS. Una vista és un objecte que gestiona una àrea rectangular de la pantalla i és responsable de dibuixar el seu contingut i gestionar els esdeveniments d'usuari.

Conceptes Clau

  • UIView: La classe base per a totes les vistes en iOS.
  • Subvistes: Vistes que es poden afegir dins d'altres vistes, creant una jerarquia de vistes.
  • Frame: La posició i mida d'una vista dins del seu supervista.

Creació de Vistes

Exemple de Creació de Vistes

// Creació d'una vista simple
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)];
myView.backgroundColor = [UIColor blueColor];
[self.view addSubview:myView];

Explicació del Codi

  • UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)];: Crea una nova vista amb un frame especificat.
  • myView.backgroundColor = [UIColor blueColor];: Estableix el color de fons de la vista a blau.
  • [self.view addSubview:myView];: Afegeix la vista creada com a subvista de la vista principal del controlador de vista.

Controladors de Vista

Els controladors de vista (View Controllers) són objectes que gestionen una o més vistes i coordinen la interacció entre la interfície d'usuari i la lògica de l'aplicació.

Conceptes Clau

  • UIViewController: La classe base per a tots els controladors de vista.
  • viewDidLoad: Mètode que es crida quan la vista del controlador s'ha carregat a la memòria.
  • viewWillAppear: Mètode que es crida just abans que la vista es mostri a la pantalla.
  • viewDidAppear: Mètode que es crida just després que la vista s'hagi mostrat a la pantalla.

Cicle de Vida del Controlador de Vista

El cicle de vida d'un controlador de vista inclou diversos mètodes que es criden en diferents moments del seu cicle de vida. Aquests mètodes permeten personalitzar el comportament del controlador de vista en funció de l'estat de la seva vista.

Taula del Cicle de Vida

Mètode Descripció
viewDidLoad Es crida quan la vista s'ha carregat a la memòria.
viewWillAppear Es crida just abans que la vista es mostri a la pantalla.
viewDidAppear Es crida just després que la vista s'hagi mostrat a la pantalla.
viewWillDisappear Es crida just abans que la vista desaparegui de la pantalla.
viewDidDisappear Es crida just després que la vista hagi desaparegut de la pantalla.

Exemple Pràctic

Creació d'un Controlador de Vista Personalitzat

#import "MyViewController.h"

@implementation MyViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Configuració inicial de la vista
    self.view.backgroundColor = [UIColor whiteColor];
    
    // Creació d'una vista
    UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)];
    myView.backgroundColor = [UIColor blueColor];
    [self.view addSubview:myView];
}

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    // Accions a realitzar just abans que la vista es mostri
}

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    // Accions a realitzar just després que la vista s'hagi mostrat
}

@end

Explicació del Codi

  • @implementation MyViewController: Implementació del controlador de vista personalitzat.
  • - (void)viewDidLoad: Configuració inicial de la vista quan es carrega a la memòria.
  • - (void)viewWillAppear:(BOOL)animated: Accions a realitzar just abans que la vista es mostri.
  • - (void)viewDidAppear:(BOOL)animated: Accions a realitzar just després que la vista s'hagi mostrat.

Exercicis Pràctics

Exercici 1: Creació d'una Vista amb un Botó

  1. Crea una nova vista amb un botó al centre.
  2. Quan es premi el botó, canvia el color de fons de la vista.

Solució

#import "MyViewController.h"

@implementation MyViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    
    UIButton *myButton = [UIButton buttonWithType:UIButtonTypeSystem];
    myButton.frame = CGRectMake(100, 100, 100, 50);
    [myButton setTitle:@"Canvia Color" forState:UIControlStateNormal];
    [myButton addTarget:self action:@selector(changeColor) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:myButton];
}

- (void)changeColor {
    self.view.backgroundColor = [UIColor greenColor];
}

@end

Explicació del Codi

  • UIButton *myButton = [UIButton buttonWithType:UIButtonTypeSystem];: Crea un botó de tipus sistema.
  • myButton.frame = CGRectMake(100, 100, 100, 50);: Estableix el frame del botó.
  • [myButton setTitle:@"Canvia Color" forState:UIControlStateNormal];: Estableix el títol del botó.
  • [myButton addTarget:self action:@selector(changeColor) forControlEvents:UIControlEventTouchUpInside];: Afegeix una acció al botó per canviar el color de fons de la vista quan es premi.
  • - (void)changeColor: Mètode que canvia el color de fons de la vista a verd.

Conclusió

En aquesta secció, hem après els conceptes bàsics de les vistes i els controladors de vista en Objective-C. Hem vist com crear i gestionar vistes, així com com utilitzar controladors de vista per organitzar i controlar la interfície d'usuari. A més, hem explorat el cicle de vida dels controladors de vista i hem practicat amb un exemple pràctic. Amb aquests coneixements, estem preparats per avançar en el desenvolupament d'interfícies d'usuari més complexes en les nostres aplicacions iOS.

© Copyright 2024. Tots els drets reservats