2010-09-18 11 views
6

iPhone/iPad SimpleTableViewCells: cosa sostituisce l'insieme deprecato di SetText sulle celle della tabella?SimpleTableViewCells per iPhone/iPad: cosa sostituisce l'insieme deprecato di SetText sulle celle della tabella?

Il seguente codice fornisce avvisi che setImage e setText sono deprecati. Quindi cosa li ha sostituiti? Qual è il nuovo modo migliore per ottenere questo comportamento semplice?

 
static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier"; 
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier]; 

if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero 
     reuseIdentifier: SimpleTableIdentifier] autorelease]; 
} 
cell.image=[UIImage imageNamed:@"Wazoo.png"];; 
cell.text = @"Wazoo"; 

Allora, qual è il modo più semplice per avere lo stesso effetto di immagine/testo di una cella senza fare un sacco di lavoro o di ottenere avvertimenti?

+0

Si dovrebbe spostare * * cell.imageView.image questa linea in se (cella == nil) {cell.imageView.image = [UIImage imageNamed: @ "Wazoo. png "]; } per rendere veloce la visualizzazione del tuo tavolo. –

risposta

10

Con la nuova release di iOS SDK, setText e le proprietà setImage sono deprecati e sono sostituiti da textLabel.text per setText e imageView.image per setImage ...
Con questa nuova proprietà, il codice sarebbe :

static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier"; 
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier]; 

if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero 
     reuseIdentifier: SimpleTableIdentifier] autorelease]; 
} 
cell.imageView.image = [UIImage imageNamed:@"Wazoo.png"];; 
cell.textLabel.text = @"Wazoo";

di questo sono di solito utilizzati quando la cellula utilizza stili preimpostated come UITableViewCellStyleDefault, UITableViewCellStyleSubtitle, UITableViewCellStyleValue1 e UITableViewCellStyleValue2 o CGRect ...
Se si mostrerà anche un sub titolo, il codice da utilizzare è:

cell.detailTextLabel.text = @"Your Subtitle Here!";
3

Si chiama textLabel.text e imageView.image sulla cella.

static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier"; 
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier]; 

if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero 
     reuseIdentifier: SimpleTableIdentifier] autorelease]; 
} 
cell.imageView.image=[UIImage imageNamed:@"Wazoo.png"];; 
cell.textLabel.text = @"Wazoo"; 
Problemi correlati