Talora nell’utilizzo di una tabella è necessario disporre di una riga che non sia legata alla tabella stessa ma indipendente e che sia possibile customizzare senza difficoltà. Vedremo quindi oggi la creazione di una header view personalizzata a partire da un file Xib da noi creato. Accediamo al nostro progetto e dichiariamo,nella classe in cui abbiamo creato la nostra tabella, una variabile di tipo UIView:

UIView *myheader;

Settiamola quindi come IBOutlet:

@property (nonatomic, retain) IBOutlet UIView *myHeader;

Creaimo quindi un nuovo file Xib nel solito modo ( File -> New File -> Empty Xib ) e chiamiamolo CustomHeader.

Accediamo alla libreria ed aggiungiamo una UIView ( che possiamo ridimensionare nella Size Inspector nel Menu Tools )


immagine2

Cliccando invece sul file Owner -> Identity Inspector nel campo Class inseriamo il nome della nostra classe ( quella dove abbiamo dichiariato la variabile UIView in precedenza ).

In Connection Inspector colleghiamo myHeader alla UIView creata:


immagine1

Ovviamente possiamo personalizzare la view come vogliamo. Salviamo e ritorniamo al nostro codice in Xcode e nel metodo cellForRowAtIndexPath aggiungiamo il seguente codice:

[[NSBundle mainBundle] loadNibNamed:@"CustomHeader" owner:self options:NULL];
self.tableView.tableHeaderView = myHeader;

Queste due righe di codice sono facilmente comprensibili, nella prima riga effettuo, dal bundle dell’applicazione, il load del file Nib ( realizzato con IB ) chiamato appunto CustomHeader, mentre nella seconda vado ad assegnare al tableHeaderView ( appartenente alla tabella ) myHeader ( precedentemente dichiarata e collegata alla UIView presente nello XIB )


Friend Phone Locator Banner