2010-09-18 3 views
6

iPhone/iPad SimpleTableViewCells: Qu'est-ce qui remplace le setImage setImage obsolète sur les cellules de tableau?iPhone/iPad SimpleTableViewCells: Qu'est-ce qui remplace le setImage setImage obsolète sur les cellules du tableau?

Le code ci-dessous indique que setImage et setText sont obsolètes. Alors qu'est-ce qui les a remplacés? Quelle est la nouvelle meilleure façon d'obtenir ce comportement simple?

 
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"; 

Alors, quelle est la façon la plus simple d'avoir le même effet que l'image/texte d'une cellule sans faire beaucoup de travail ou d'obtenir des avertissements?

+0

Vous devez déplacer * * cell.imageView.image cette ligne si (cellule == nil) {cell.imageView.image = [UIImage imageNamed: @ "Wazoo. png "]; } pour que votre vue de table soit rapide. –

Répondre

10

Avec la nouvelle version de propriétés iOS SDK, setText et setImage sont déconseillés et ils sont remplacés par textLabel.text pour setText et imageView.image pour setImage ...
Avec cette nouvelle propriétés, votre code serait :

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";

propriétés Ce sont généralement utilisés lorsque la cellule utilise des styles preimpostated comme UITableViewCellStyleDefault, UITableViewCellStyleSubtitle, UITableViewCellStyleValue1 et UITableViewCellStyleValue2 ou CGRect ...
Si vous afficherez également un sous titre, le code à utiliser est:

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

Vous appelez textLabel.text et imageView.image sur la cellule.

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"; 
Questions connexes