8
votes

Comment empêcher une étiquette de texte Uitabilieviewcell de tronquer son texte sur iPad

J'utilise un utableview sur un iPad et pour une raison quelconque, le texte utableviewcell.textlabel est tronqué même s'il y a beaucoup d'espace pour afficher le texte. J'ai essayé tous les éléments suivants, dont aucun ne le corrige:

  1. Définissez une largeur flexible masque d'autosser sur la cellule
  2. appelant [cellule sizefit] après avoir défini le texte
  3. appelant [Cell.textLabel SenumberOlines: 0] et [Cell.textLabel SetlinebrebrebrebrebrebrebrebreakMode: NsLeRebreakByWordwordwordword]

    Je n'ai pas encore essayé de sous-classement UitailViewCell et de définir explicitement le cadre dans la méthode LayouplieViews. Essayer d'éviter cela comme je me sens comme s'il devrait y avoir une meilleure solution. Je ne veux pas non plus redimensionner le texte - il y a beaucoup d'espace pour adapter le texte à la taille de la police complète.

    Entrez la description de l'image ici


5 commentaires

Comment affichez-vous ces chiffres sur le côté droit par le ">"? Avez-vous ajouté une vue accessoire personnalisée?


J'ajoute un Uilabel sous forme de sous-visez à la cellule. Cependant, j'ai essayé de commenter l'Uilabel et ça ne marche toujours pas.


Donc, si vous commenciez cela, la cellule n'est qu'une cellule "basique" standard avec un indicateur de divulgation, rien d'autre?


Correct: Cell = [[[[[[[[[[[[[[[[[[[[[[[[...] Initimendification de la réutilisation: Cellentificateur]; [Cell SetAccessoryType: UitaireViewCellaccessoryDisClosureIndicator];


Je ne peux pas dupliquer votre problème. Vous devriez essayer d'ajouter une couleur d'arrière-plan à votre étiquette pour vous assurer de sa taille. Lorsque je fais cela, il montre que l'étiquette allait jusqu'à l'indicateur de divulgation


4 Réponses :


4
votes

Définissez la propriété "SeeNumberOflines" de l'étiquette pour envelopper le texte au nombre de lignes requis. Si vous ne voulez pas le "..." à la fin du texte s'il est trop long, utilisez

cell.textlabel.linebreakMode = UilinebreakModewordwordwrap; ou nslinebreakbywordwordword pour iOS 6 ou plus

Essayez de définir la hauteur et la largeur de la textlable et de la TableViewCell Dynamicy se référer Ce lien


4 commentaires

J'ai essayé ça en vain. J'ai mis à jour ma question avec cette information. Fyi UilinebreakModewordordwrap est obsolète.


Utilisez nslinebreakbywordwordwordwout pour iOS 6 ou plus


Pourquoi définirait la hauteur de faire une autre différence? Il devrait y avoir beaucoup de place pour afficher le texte de la hauteur par défaut.


avoir regardé cela Stackoverflow.com/Questtions/129502/...



7
votes

U SET SET TEXTLABEL NUMÉRO DE LIGNE 0

     cell.textLabel.numberOfLines=0;
     cell.textLabel.lineBreakMode=UILineBreakModeWordWrap; or NSLineBreakByWordWrapping;


1 commentaires

J'ai essayé ça en vain. J'ai mis à jour ma question avec cette information. Fyi UilinebreakModewordordwrap est obsolète.



0
votes

La réponse n'a rien à voir avec Uitabilieviewcell à la fin. Il y avait une section du code tronquant le texte à afficher dans la cellule de vue de la table! Merci à tout le monde pour l'aide jusqu'à ce point.


0 commentaires

0
votes

J'ai eu le même problème. Cela m'est arrivé à IOS 6 et cela m'est également arrivé avec vos cellules personnalisées. J'ai utilisé Multiline et NslinebreakBywordwordword.

J'ai résolu la modification de toutes les étiquettes pour utiliser NslinebreakBycharwrant


0 commentaires