Vidéo: Mise en page Excel avant impression 2025
Il peut arriver que vous ayez besoin d'afficher le contenu des cellules dans votre application iOS. Pour afficher le contenu de la cellule, votre délégué reçoit le message tableView: cellForRowAtIndexPath. Ajoutez cette méthode à DestinationController. m.
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath {statique NSString * CellIdentifier = @ "DestinationCell"; UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier]; NSDictionary * destinationData = self. destinationsArray [indexPath. rangée]; NSAttributedString * attributeString = [[NSAttributedString alloc] initWithString: destinationData [@ "Nom de destination"] attributs: @ {NSFontAttributeName: [UIFont systemFontOfSize: 17. 0f], NSForegroundColorAttributeName: [UIColor whiteColor]}]; cellule. textLabel. attributeText = attributeString; return cell;}
Vous voyez que l'une des premières choses que vous faites est de déterminer si les cellules que vous pouvez utiliser traînent. Vous vous souvenez peut-être que même si une vue Table peut afficher plusieurs lignes à la fois sur l'écran de l'iPad, la table elle-même peut en contenir beaucoup plus.
Une grande table peut cependant consommer beaucoup de mémoire si vous créez des cellules pour chaque ligne. Heureusement, les vues Table sont conçues pour réutiliser cellules. Lorsque les cellules d'une vue Tableau défilent à l'écran, elles sont placées dans une file d'attente de cellules disponibles pour être réutilisées.
Si le système manque de mémoire, la vue Table supprime les cellules de la file d'attente, mais tant qu'elles disposent de mémoire disponible, elles conservent leur place au cas où vous souhaiteriez les réutiliser.
Vous créez une chaîne à utiliser comme identifiant de cellule pour indiquer le type de cellule que vous utilisez:
static NSString * CellIdentifier = @ "DestinationCell";
Il est essentiel que les champs CellIdentifier et Identifier de la cellule Prototype de l'étape 18 soient identiques. Si ce n'est pas le cas, vous n'obtiendrez pas la cellule prototype transparente que vous avez spécifiée dans le storyboard.
Les vues de table prennent en charge plusieurs types de cellules, ce qui rend l'identificateur nécessaire. Dans ce cas, vous n'avez besoin que d'un seul type de cellule, mais vous pouvez parfois en vouloir plus d'un pour prendre en charge des cellules ayant des dispositions et des formats différents. Par exemple, si seulement certaines cellules doivent avoir un triangle d'affichage, vous utiliserez probablement deux prototypes - un avec et un sans le triangle d'affichage.
Vous demandez à la vue Table un objet cellule réutilisable spécifique en lui envoyant un dequeueReusableCellWithIdentifier: message:
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier];
Ceci détermine si des cellules du type que vous voulez sont disponibles. Si aucune cellule ne traîne, cette méthode créera une cellule en utilisant l'identifiant de cellule que vous avez spécifié. Vous avez maintenant une cellule Table View que vous pouvez retourner à la vue Table.
Vous avez plusieurs choix sur la façon de formater la cellule Vue tabulaire. Bien que vous utilisiez UITableViewCellStyleDefault, vous pouvez choisir parmi un certain nombre de styles différents, listés comme suit (les mots-clés du menu local Style de l'onglet Attributs d'Interface Builder sont indiqués entre parenthèses):
-
UITableViewCellStyleDefault: Vous donne une cellule simple avec une étiquette de texte (noir et aligné à gauche) et une vue d'image facultative. [Basic]
-
UITableViewCellStyleValue1: vous donne une cellule avec une étiquette de texte noire alignée à gauche sur le côté gauche de la cellule et une étiquette de texte alignée à droite avec un petit texte gris sur le côté droit. (L'application Settings utilise ce style de cellule.) [Détail de détail]
-
UITableViewCellStyleValue2: vous donne une cellule avec une étiquette de texte bleue alignée à droite sur le côté gauche de la cellule et une étiquette de texte noire alignée à gauche sur la droite côté de la cellule. [Détail de gauche]
-
UITableViewCellStyleSubtitle: vous donne une cellule avec un libellé de texte aligné à gauche en haut et un libellé de texte aligné à gauche en dessous dans un texte gris plus petit. (L'application Musique utilise des cellules dans ce style.) [Sous-titre]
Une fois le formatage terminé, définissez les propriétés d'étiquette qui vous intéressent.
Vous saisissez le nom de chaque destination sont stockés en accédant à DestinationName dans chaque dictionnaire de destination. Vous faites cela en accédant au dictionnaire dans le tableau destinations (sauvegardé) correspondant aux sections et lignes dans indexPath, qui contient les informations de section et de ligne dans un seul objet.
Pour extraire la ligne ou la section d'un NSIndexPath, il suffit d'appeler sa méthode de section (section indexPath.) Ou sa méthode de ligne (indexPath. row), dont l'une retourne un int:
NSDictionary * destinationData = destinationsArray [chemin d'index. rangée];
Ensuite, créez une chaîne attribuée qui peut gérer à la fois les chaînes de caractères et les attributs tels que les polices, les couleurs et même le crénage:
NSAttributedString * attributeString = [[NSAttributedString alloc] initWithString: destinationData [@ "Destination & # x200B; Name "] attributs: @ {NSFontAttributeName: [UIFont systemFontOfSize: 17. 0f], NSForegroundColorAttributeName: [UIColor whiteColor]}];
Maintenant, utilisez cette chaîne attribuée pour mettre en forme l'étiquette de texte de la cellule:
cell. textLabel. attributeText = attributeString;
Enfin, renvoyez la cellule formatée avec le texte à afficher dans cette ligne:
return cell;
