49 votes

Dans UITableView, cell.detailTextLabel.text ne fonctionne pas… pourquoi?

En tableView:cellForRowAtIndexPath: j'ai le texte suivant:

cell.textLabel.text = @"label";
cell.detailTextLabel.text = @"detail";

L' textLabel montre comme prévu, mais l' detailTextLabel n'apparaît pas à tous, bien qu'il n'existe pas de diagnostic. De ce que j'attendais était que le "détail" de texte apparaît dans la cellule sur une deuxième ligne, au-dessous de la "normale" du texte, éventuellement avec une taille de police plus petite.

La même question est posée dans un autre de poster ici et de l'utilisateur "jbrennan", a répondu que la tableview style de cellule doit être autre chose qu' UITableViewCellStylePlain. Cependant, il semble qu'il y a seulement deux styles possibles, UITableViewCellStylePlain et UITableViewCellStyleGrouped. J'obtiens le même résultat avec (le détail de l'étiquette n'apparaît pas).

Est-il un autre style de cellule que je ne suis pas de voir dans la documentation? Avez - UITableView changement dans la dernière mise à jour et detailTextLabel n'est plus disponible? Dois-je faire quelque chose pour le faire apparaître? Toutes les suggestions?

Je suis en utilisant xcode 3.2.5 et du bâtiment pour iPhone 4.2 Simulateur.

123voto

Aurum Aquila Points 7611

Votre initialisation doit être changée en ceci:

 cell = [[[UITableViewCell alloc]  

J'ai souligné et mis en gras la partie que vous devez changer.

15voto

W Dyson Points 3144

Vous devez définir le type de cellule sur Sous-titre lorsque vous l'allouez.

 if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:BasicCellIdentifier] autorelease];
}
 

14voto

oragorn Points 91

Lorsque vous utilisez Xcode 4.2, définissez le style de cellule d'affichage de table sur Sous-titre dans Storyboard. dequeueReusableCellWithIdentifier renverra une cellule instanciée.

4voto

user2964955 Points 31
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle 
                           reuseIdentifier:CellIdentifier];

4voto

Mohammad Shaker Points 76

Définissez le style de cellule de la table sur Sous-titre dans le Storyboard.

et écrivez ce code pour configurer votre cellule

 if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:BasicCellIdentifier] autorelease];
}
 

entrez la description de l'image ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X