UILabel – Guida completa all’uso.
Tutti i tutorial per lo svillupo su iphone iniziano con “aprite interface builder e trascinate una UILabel..” ma cosa sono in realtà le UILabel? Le UILabel fanno parte della gerarchia dell’UIKit framework che la Apple ci mette a disposizione.
Come possiamo vedere in questa immagine, ereditano direttamente da UIView che a loro volta ereditano da UIResponder e da NSObject. Capire a quale livello della gerarchia è posizionata la classe che stiamo analizzando è indispensabile per capire subito quali sono i metodi e proprietà che possiamo utilizzare.
In realtà se utilizzassimo le label esclusivamente trascinandole da interface builder potremmo ignorare tutto questo, ma poichè noi sviluppatori non viviamo bene senza righe di codice, vediamo in dettagli come creare ed impostare una label a runtime.
La prima cosa da fare sarà dichiarare un oggetto di tipo UILabel, allocarlo ed inizializzarne il valore, tutto questo viene fatto con queste istruzioni:
UILabel *newLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 30, 200, 100)];
Il metodo “alloc” è ereditato dalla classe NSObject e si occupa semplicemente di riservare nella memoria sufficiente spazio per allocare un oggetto di tipo UILabel, mentre il metodo “initWithFrame” è un metodo della classe UIView che inizializza e ritorna un nuovo oggetto di tipo UIView delle dimensioni e nella posizione specificata dal parametro.
Qualcuno si sta chiedendo “Ma noi serve una UILabel..se initiWithFrame restituisce una UIView che me ne faccio??”…io potrei rispondere con un altra domanda “se alloc restituisce un NSObject come mai lo utilizziamo con qualsiasi oggetto??”…la risposta è che è proprio questo il bello della programmazione ad oggetti, la UILabel è una sottoclasse di UIView quindi è una UIView…e possiamo utilizzarla come e dove è previsto l’utilizzo di una UIView. Questo è da tenere bene a mente perché è un pilastro importante della programmazione ad oggetti.
CGRectMake(x,y,width,height) fa parte di un altro framework, il quarz2d, e al momento sorvoliamo sul suo utlizzo, quello che ci serve sapere è che restituisce un rettangolo (CGRect) il cui angolo superiore sinistro è posizionato nel punto di coordinate x,y e che ha una larghezza pari a width pixel ed un’altezza di height pixel. (Trovate qui su devAPP un tutorial fatto veramente bene)
Una volta dichiarata, allocata ed inizializzata la nostra UILabel non resta che visulizzarla, richiamiamo quindi il metodo addSubView sulla vista che dovrà contenerla. (addSubView come parametro vuole una UIView..a questo punto dovrebbe essere chiaro perchè possiamo passargli una UILabel..)
[self.view addSubview:newLabel];
Vediamo ora una serie di proprietà che possono essere impostate per modificare l’aspetto della UILabel:
Una piccola nota, poiché sono dichiarate come proprietà possiamo accedervi in lettura e scrittura tramite l’operatore “.” (punto) non è necessario utilizzare metodi set e get.
| NOME | DESCRIZIONE | ESEMPIO |
| text | Imposta la stringa di testo visulizzata nella UILabel |
myLabel.text = @"Ciao mondo" |
| font | Imposta il font |
myLabel.font = [UIFont boldSystemFontOfSize:25]; |
| textColor | Imposta il colore del testo |
myLabel.textColor = [UIColor blueColor]; |
| textAlignment | Imposta l’allineamento del testo |
myLabel.textAlignment = UITextAlignmentCenter; |
| enabled | Specifica se la UILabel è abilitata o meno. Attenzione: il getter per questa proprietà è “isEnabled”. |
myLabel.enabled = FALSE; myboolValue = [mylabel isEnabled]; |
Per le altre proprietà vi rimando alla UILabel class reference ufficiale apple che trovate a questo indirizzo:



















ma io vorrei sapere una volta fatta l’applicazione come faccio a caricarla sul mio dispositivo?