Afficher plusieurs lignes dans la cellule d'une vue Table – IOS

Je souhaite afficher plusieurs lignes dans la vue des cellules d'une table pour une application IOS sur laquelle je travaille. Pour être précis, j'ai une vue de table qui sera remplie avec datatables JSON qui sont renvoyées par le server, ici si le statut returnné est 0 ou 2 (Statut est l'un des objects JSON qui est returnné pour un profil) avoir à afficher un message d'erreur de 5-6 lignes.

La vue de cellule de Table est personnalisée pour afficher 2 UILabel et évidemment la taille de cette cellule est assez petite pour afficher 2 labels. J'ai trouvé une solution , mais elle ne résout pas réellement le problème. Quelqu'un peut-il suggérer une solution différente. Si possible, le lien vers un exemple sera d'une grande aide. Merci

Ce que vous searchz est appelé "cellules de taille dynamic". Il y a un tutoriel sur la façon de réaliser ceci: http://www.raywenderlich.com/73602/dynamic-table-view-cell-height-auto-layout

Il redimensionne toute la hauteur des cellules en fonction de la longueur du text comme dans cet exemple: entrez la description de l'image ici

Si vous devez afficher ce message multi-lignes à l'un des UILabels que vous avez actuellement dans UITableViewCell, définissez la propriété "No of Lines" sur 0 (zéro) et définissez "Line Mode" sur UILineBreakModeWordWrap, Maintenant pour la hauteur de la cellule. avoir deux options c'est-à-dire avec des contraintes ou sans contraintes, ceci sera fait en utilisant la méthode cellForRowAtIndexPath.

1. if (error_message_shown) { return 200.0; else return 60.0; if (error_message_shown) { return 200.0; else return 60.0;

  1. Avec des contraintes
    Ajoutez les contraintes haut, bas, gauche, droite, largeur et hauteur, assurez-vous d'utiliser> = pour la hauteur et calculez la hauteur du text assigné à la cellule en utilisant la méthode ci-dessous

    Taille CGSize = [string sizeWithAtsortingbutes: @ {NSFontAtsortingbuteName: [UIFont systemFontOfSize: 17.0f]}];

Quand j'ai une hauteur de cellule dynamic, j'utilise quelque chose comme

 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { static MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"my_cell_id"]; NSDictionary *responseItem = [self itemFor:indexPath]; return (CGFloat)[cell heightFor:responseItem]; }