2009-11-22 3 views
0

J'ai une chaîne très longue que j'ai besoin d'afficher dans la première rangée de la vue de la table. La chaîne est commeTableView dans l'iPhone

"1|123|Try|Bank Of America|11/06/2007|20,000.00" 

où | est le tokenizer. Maintenant, je prends le premier jeton ie 1 et ajoute la chaîne "\ n", de sorte que 123 soit affiché dans la ligne suivante de la ligne de vue de la table, mais je peux juste afficher 1 et 123 dans la première rangée de la vue de la table. Je ne peux pas afficher les autres valeurs. Voir le cas, la chaîne de résultats est l'information d'une transaction, de même il y a beaucoup plus de transactions que je vais afficher dans la vue de la table. Mais les lignes de la table ne sont pas assez grandes pour afficher toute l'information.

Répondre

1

Si je lis correctement votre question, vous voulez augmenter la hauteur de la rangée?

Si oui, vous pouvez utiliser le délégué:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; 
+0

Pourriez-vous expliquer plus en détail comment et où dois-je apporter des modifications à mon code? – shreedevi

+0

Votre UITableView doit définir son délégué (et sa source de données) comme votre classe (généralement votre ViewController pour cette vue). Dans votre classe ViewController, vous pouvez ajouter cette méthode déléguée et renvoyer une hauteur personnalisée pour la ligne. Les délégués font partie intégrante de tout le modèle de programmation de l'objectif-c et si vous êtes perdus avec eux, je vous suggérerais de les lire un peu avant d'avancer. – rein

+0

j'ai essayé ceci, il augmente la hauteur de la rangée, mais affiche seulement 2 lignes dans la rangée, et les données restantes sont montrées comme ......... – shreedevi

0

On dirait que vous utilisez la norme UITableViewCell. Je vous recommande d'utiliser un tableViewCell personnalisé avec un UILabel afin de pouvoir contrôler comment la troncature est gérée et combien de lignes vous pouvez avoir, etc. Vous devez toujours utiliser la suggestion de @ rein de redimensionner les lignes.

0

Vous allez modifier la hauteur de la cellule tableview en fonction du nombre de lignes de données que vous souhaitez afficher dans chaque ligne. Vous devrez écrire un UITableViewDelegate's tableView:heightForRowAtIndexPath: pour renvoyer la hauteur de ligne correcte pour chaque ligne.

Le calcul de la hauteur de la ligne s'avère difficile si le nombre de lignes de texte change à chaque fois ou si la taille de la police change.

Vous voudrez peut-être repenser votre conception. Les vues de table ne sont pas destinées à afficher une grande quantité d'informations. Au lieu de cela, ils sont destinés à afficher des informations qui correspondent plus ou moins sur une ligne. Vous devez envisager une conception qui affiche une ligne d'informations qui identifiera l'enregistrement, puis fournir une vue détaillée pour afficher toutes les données de l'enregistrement.

Par exemple, dans les contacts tableview, vous avez un tableview qui indique le nom du contact et aa vue détaillée indiquant l'adresse, numéro de téléphone, courriel, etc. Vous

0

peut essayer

[cell.textLabel setNumberOfLines: 5];

Ceci en combinaison avec heightForRowAtIndexPath vous donnera ce que vous recherchez.

1

Pour ce faire, le meilleur moyen est de suivre la personnalisation de cell.You peut augmenter la hauteur de la ligne en utilisant la méthode de délégué tableView: heightForRowAtIndexPath. (vous devez retourner la hauteur comme retour 55). Ensuite, vous pouvez ajouter une étiquette à la cellule, puis ajouter du texte à l'étiquette en spécifiant le nombre de lignes dans l'étiquette en fonction de vos besoins.