• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

UILabel – Guida completa all’uso.

By IgnazioC | on 26 Febbraio 2010 | 19 Comments
Senza categoria

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.

Gerarchia UILabel

UILabel nel UIKit framework

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:

http://developer.apple.com/iphone/prerelease/library/documentation/UIKit/Reference/UILabel_Class/UILabel_Class.pdf



Share this story:
  • tweet

Tags: FrameworktutorialuikitUILabelXcode

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • Con Xcode 6.3 arriva il Crash Log Organizer

    26 Febbraio 2015 - 0 Comment
  • Xcode-project-generator: uno script per creare velocemente progetti Xcode

    21 Ottobre 2014 - 1 Comment
  • Xcode Tips & Tricks: Gestione del filesystem, un progetto più versioni, plugin

    12 Novembre 2013 - 4 Comments

Author Description

19 Responses to “UILabel – Guida completa all’uso.”

  1. 26 Febbraio 2010

    guy

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

  2. 26 Febbraio 2010

    Ignazioc

    Per caricare le app sul tuo iPhone devi registrarti come developer. Il costo è di 99 dollari l’anno. Trovi una guida su questo stesso sito

  3. 26 Febbraio 2010

    Neo

    Bellissima iniziativa… se ci fate una guida per ogni oggetto è il massimo!!!
    Complimenti per la guida.. continuate così!!!

  4. 26 Febbraio 2010

    Fede81

    Quindi se un’ UILabel è un’ UIView posso usare tutte le proprietà e i metodi delle View?

  5. 26 Febbraio 2010

    Ignazioc

    certamente! questo è un concetto base della OOP. le UILabel sono anche UIView, ma anche UIResponder e NSObjects.
    Per esempio il metodo “retainCount” che restituisce il valore dell’omonima proprietà è dichiarato nella classe NSObjects ma può essere richiamato a partire da qualsiasi oggetto che derivi da NSObject.

  6. 26 Febbraio 2010

    Luigi

    Complimenti ignazioc ottima guida.
    Se riesci a farne altre non è affatto male…anche io che sono abbastanza pratico a volte faccio casini…anche perchè sono molto primo e non ho voglia di leggermi la documentazione 😀

  7. 26 Febbraio 2010

    Luigi

    pigro…nn primo 😀

  8. 26 Febbraio 2010

    Monk

    Scusate la mia ignoranza, ma sono nuovo. Anche le uilabel possono essere personalizzate graficamente come avete spiegato nella guida precedente sui textfield?

  9. 26 Febbraio 2010

    Ignazioc

    grazie a tutti, perchè non proponete un argomento oggetto da studiare nel prossimo tutorial? UIButton?
    @Monk: no, le UILabel di default posseggono meno proprietà delle textfield, di solito si usa mettere delle imgview sotto le label per personalizzarle.

  10. 27 Febbraio 2010

    Monk

    Ah ok.. Quindi lo sfondo della label trasparente fa vedere l’immagine sotto.. Bella, non ci avevo mai pensato! Grazie.. Ne attendiamo altri allora 🙂 anche uibutton grazie ancora

  11. 27 Febbraio 2010

    tbellosta

    Ottima guida ma credo che per i label continuerò a usare IB

  12. 27 Febbraio 2010

    ignazioc

    tbellosta :

    Ottima guida ma credo che per i label continuerò a usare IB

    comodista!! 🙂 🙂

  13. 1 Marzo 2010

    andreaAppCode

    UIButton sarebbe una figata…. mi sto perdendo un po nel realizzare bottone personalizzati…:) magari cosi ne capisco di piu…
    grazie mille!!

  14. 1 Marzo 2010

    ignazioc

    ok, prossimo tutorial UIButton.
    una risposta al volo: metti una immagine sotto e crea un bottone trasparente..risolvi in un attimo 🙂

  15. 9 Aprile 2010

    andreaAppCode

    allora non sono l’unico che fa cosi..:) che ne dici di pickerView nel prox??

  16. 15 Marzo 2011

    rocco

    complimenti per la guida..
    devo fare il parsing di un file XML e volevo inserire il titolo in una UILabel
    – (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
    if ([tag isEqualToString:@”titolo”]){
    UILabel *titolo=[[UILabel alloc]initWithFrame:CGRectMake(80.0f, 88.0f, 320.0f, 44.0f)];
    titolo.text=string;
    [self.view addSubview:titolo];
    }
    }
    ma non scrive assolutamente niente
    qualche idea??

  17. 15 Marzo 2011

    Ignazioc

    Ti consiglio di fare le domande sul forum, non nei commenti.
    Ci sono un pò di cose che non vanno nel tuo codice, non è bellissima l’idea di creare una label durante il parsing di un file xml..in questo modo mescoli dati e interfaccia…poi cosa succederebbe se ci fossero due tag “titolo”? creeresti due label nello stesso punto?
    Venendo più allo specifico…la variabile “tag” non è definita in questo spezzone di codice, quindi non potrebbe funzionare, inoltre il metodo
    – (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
    non è adatto a fare quello che chiedi, perché come dice la documentazione:
    The parser object may send the delegate several parser:foundCharacters: messages to report the characters of an element. Because string may be only part of the total character content for the current element, you should append it to the current accumulation of characters until the element changes.
    Quindi non hai l’elemento completo, ma solo una parte che devi “accumulare” da qualche parte.
    Ciao

  18. 18 Maggio 2014

    RiccardoM

    Ciao a tutti,

    sto cercando di capire da più o meno mezz’ora come aggiungere al text di una UIlabel oltre alla stringa “hardcoded” anche una variabile. Mi spiego meglio : label.text = @”La data è :” variabileData; Qual’è la formattazione corretta???

    Vi ringrazio molto e scusate il disturbo

  19. 7 Giugno 2014

    IgnazioC

    Devi usare la costruzione della stringa, cioè qualcosa tipo label.text = [NSString stringWithformat:@”Il valore della variabile è: %d”, miaVariabile];

    ciao

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO