• 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

T#015 – Celle personalizzate per le nostre Table

By Luigi Marino | on 7 Dicembre 2009 | 15 Comments
Senza categoria

La Table View è uno degli elementi più utilizzati in iPhone OS. Basti soltanto pensare a due applicazioni di primaria importanza Mail e Contatti che entrambi utilizzano questo potente strumento.

In taluni casi però si ha la necessità di personalizzare le celle della nostra tabella.

Vedremo quindi oggi come personalizzare l’aspetto delle celle della nostra tabella (partiamo quindi dal presupposto che abbiate già una tabella pronta e funzionante con i vostri elementi caricati).

Apriamo il nostro Xcode e creiamo un nuovo NIB (File -> New File -> User Interface -> Empty Xib) denominato CustomCell.

Apriamo il nostro file .xib  e dalla libreria scegliamo il componente Table View Cell.


image1

Inseriremo quindi all’interno di questa cella gli elementi che ci occorrono (nel nostro esempio inseriremo due Text Label ma è possibile inserire qualsiasi elemento come immagini, label, testo e così via).

Selezioniamo ora il File’s Owner del nostro Xib e dal menu accediamo all’Identity Ispector
Inseriamo il nome della nostra classe ( quella dove abbiamo creato l’IBOutlet per intenderci ).
Accediamo ora al Connection Inspector e nel Referencing Outlets colleghiamo cella personalizzata alla nostra Table View Cell.


image3


image4

Una volta completata questa parte chiudiamo il file Xib.

Ritorniamo quindi al codice originario della nostra tabella ed in particolare al file .h
Dichiariamo un elemento UITableViewCell e denominiamolo *cellapersonalizzata

IBOutlet UITableViewCell *cellapersonalizzata;

Accediamo al .m della nostra classe e sostituiamo nel metodo cellForRowAtIndexPath il seguente codice:

if (cell == nil){
	[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:NULL];
	cell=cellapersonalizzata;
}

In ultima analisi sarà necessario assegnare il valore delle nostre stringhe alle due nuove Label create nello XIB personalizzo.
Accediamo allora al file XIB della nostra cella personalizzata.
Selezioniamo la label e nel Attribute Inspector al campo Tag inseriamo rispettivamente 1 e 2 (per la prima e seconda label).


image2

Ritorniamo al .m della nostra tabella ed inseriamo il seguente codice:

	UILabel *titleLabel = (UILabel *)[cell viewWithTag:1];
	titleLabel.text = [lista objectAtIndex:indexPath.row];
	UILabel *subtitleLabel = (UILabel *)[cell viewWithTag:2];
        subtitleLabel.text = [sottotitolo objectAtIndex:indexPath.row];

Il gioco è fatto 😀

Alla prossima 🙂


AvShop Banner

Share this story:
  • tweet

Tags: Objective-cprogrammazioneTutorial PraticiuitableviewXcode

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

  • Microservizi per logiche applicative di grandi dimensioni

    27 Luglio 2016 - 0 Comment
  • 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

Author Description

15 Responses to “T#015 – Celle personalizzate per le nostre Table”

  1. 7 Dicembre 2009

    Matthew

    Ciao,
    questo è proprio il tutorial che stavo cercando! Potresti per caso dirmi come si può settare il titolo di una cella in base a ciò che viene scritto in un textfield di un’altra xib?
    Complicato vero?
    Spero in una vostra risposta! Grazie…

    Matthew

  2. 7 Dicembre 2009

    Antonio

    per favore inserisci le immagini

  3. 8 Dicembre 2009

    aifonzCom

    Dove fai l’init della cella ?
    Io normalmente uso initWithStyle:reuseIdentifier per allocare la cella.
    Se sostituisco in cellForRowAtIndexPath il tuo codice la cella non mi viene inizializzata.
    Scusa, sicuramente sbaglio qualcosa, ma sono alle prime armi …

  4. 8 Dicembre 2009

    Luigi Marino

    Quanto prima le uppo 😀

  5. 9 Dicembre 2009

    aifonzCom

    Ho risolto. L’errore era nell’xib, ho assegnato la classe al File’s Owner e nel Referencing Outlets della cella ho collegato la “cellapersonalizzata”.

  6. 9 Dicembre 2009

    Luigi

    Mi hai preceduto…proprio stamattina creando le immagini mi sono accorto della mancanza….scusate e correggo subito 😀

  7. 8 Marzo 2010

    TIPS#005 – Personalizziamo le celle in base alla loro posizione | devAPP

    […] visto nel nostro tutorial numero 15 come personalizzare le celle di una tabella. Ma se volessimo personalizzarle in modo differente, ad […]

  8. 7 Maggio 2010

    zoodany

    Ciao, come posso fare se volessi modificare il contenuto di una delle label quando la cella viene selezionata?

    Grazie, ciao.

  9. 6 Settembre 2010

    iPhone Men

    per inserire le immagini??????……

  10. 17 Marzo 2011

    Andrea

    CIao a tutti. Ho seguito passo passo il tutorial, (ho messo una immagine e due labels) ma ottengo un effetto strano. La custom cell viene visualizzata “sopra” le celle originarie e non viene sostituita ad esse. Nel mio caso la custom è alta 80 (invece che 44), ma le celle nella tabella rimangono alte 44 visualizzando così solo una parte della custom cell alta 80. Avete qualche idea di dove posso sbagliare?

    Grazie mille,

    Andrea

  11. 19 Marzo 2011

    Valerio

    Ciao a tutti,
    ma se io volessi utilizzare questa stessa cella per personalizzare la tabella in un altro viewcontroller come dovrei procedere? Impostando il File’s Owner la cella rimane legata a quell’unico file, o sbaglio? Non dovrò mica ricreare un’altra cella identica e legarla al secondo view controller che ho creato…

    Grazie mille
    Valerio

  12. 4 Maggio 2011

    Cesare

    Come si può inserire una cella personalizzata ad ogni elemento?

  13. 9 Maggio 2011

    Alessandro

    Ciao a tutti,
    ho seguito il tutorial e credo di aver fatto tutti gli step necessari, ma quando avvio la mia applicazione il contenuto della cella personalizzata (2 labels) non cambia.
    Ho seguito in debug il programma e ho notato che gli oggetti UILabel sono NULL, sapete il motivo?

  14. 1 Gennaio 2012

    FranzDev

    Ottimo tutorial.
    Però secondo me la dichiarazione:
    “IBOutlet UITableViewCell *cellapersonalizzata”
    va messa prima di utilizzare “cellapersonalizzata” nell’IB ( vedi terza immagine).
    Io ho invertito gli step e tutto ha funzionato.
    Molto utile. grazie.

  15. 12 Giugno 2012

    Massimiliano

    si puo risalire all’indexPath utilizzato ‘?

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