Existe-t-il un moyen de mettre en gras uniquement une partie d'une chaîne? Par exemple:
Distance approximative: 120m
Merci!
Existe-t-il un moyen de mettre en gras uniquement une partie d'une chaîne? Par exemple:
Distance approximative: 120m
Merci!
Ce que vous pourriez faire est d'utiliser un NSAttributedString
.
NSString *boldFontName = [[UIFont boldSystemFontOfSize:12] fontName];
NSString *yourString = ...;
NSRange boldedRange = NSMakeRange(22, 4);
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:yourString];
[attrString beginEditing];
[attrString addAttribute:kCTFontAttributeName
value:boldFontName
range:boldedRange];
[attrString endEditing];
//draw attrString here...
Jetez un coup d'œil à ce guide pratique pour dessiner des objets NSAttributedString
avec Core Text.
Comme Jacob l'a mentionné, vous voudrez probablement utiliser un NSAttributedString
ou un NSMutableAttributedString
. Voici un exemple de la façon dont vous pourriez le faire.
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"Approximate Distance: 120m away"];
NSRange selectedRange = NSMakeRange(22, 4); // 4 characters, starting at index 22
[string beginEditing];
[string addAttribute:NSFontAttributeName
value:[NSFont fontWithName:@"Helvetica-Bold" size:12.0]
range:selectedRange];
[string endEditing];
Si vous ne voulez pas vous soucier des polices (comme chaque variante de police ne contient pas "Gras"), voici une autre façon de procéder:
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:"Approximate Distance: 120m away"];
[attrString beginEditing];
[attrString applyFontTraits:NSBoldFontMask
range:NSMakeRange(22, 4)];
[attrString endEditing];
Un NSString
est juste un conteneur de données. Il ne contient pas tous les détails à propos de la présentation de ses préoccupations.
Il semble que vous vous voulez probablement faire est en gras une partie de l' UILabel
qui est utilisé pour l'affichage de votre chaîne. Ce que je ne pense pas que vous pouvez faire. Mais vous pouvez toujours casser l'INTERFACE utilisateur en trois étiquettes, une pour "Distance Approximative:", une pour "120 m"et un pour "l'ailleurs". Placez-les en ligne les uns avec les autres et vous devriez obtenir l'effet désiré.
Une autre option pourrait être d'utiliser un UIWebView
et un peu de balisage pour afficher votre texte avec mise en forme incorporée de l'information, comme expliqué ici:
http://iphoneincubator.com/blog/windows-views/display-rich-text-using-a-uiwebview
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.