[Obj-C] NSString stringWithFormat retire les espaces à la fin du texte
Hello tout le monde,
J'ai un petit problème actuellement avec un texte qui se trouve dans un label.
Voila mon code
NSString* myText = @Salut;
rowLabel.textAlignment = NSTextAlignmentRight;
rowLabel.text = [NSString stringWithFormat:@%@ ", myText];
Le problème que j'ai est qu'il m'enlève les 2 espaces après le texte, alors que justement j'aimerais les garder.
J'ai essayé différentes choses :
- Aggrandir la taille du label (mais forcément vu qu'il est aligné à droite ça change rien)
- Mettre %20 dans mon texte
- Utiliser la méthode "stringByPaddingToLength:withString:startingAtIndex:"
Mais rien n'y fait à chaque fois mon espace n'est pas gardé.
Avez-vous une solution svp ?
Merci d'avance.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Hello Céroce
Déjà merci pour ta réponse.
L'espace insécable ne change rien au problème (et s'affiche comme un espace normal quand je fait alt-espace).
Quant au fait d'utiliser auto layout, c'est pas possible, le projet existe depuis avant auto layout donc ne l'embarque pas, et la livraison est censé être vendredi soir, donc pas le temps de tout réadapter pour gérer l'autolayout
Edit 16h32: Même l'ajout de "\u00A0" (espace insécable) ne marche pas...
Tu ne peux pas changer sa frame ? Sinon, tu peux peut-être lui mettre un UIEdgeInsets ? Ou un peu plus lourd, passer par NSAttributedString, lui coller un NSParagraphStyle dans lequel tu as modifié le tailIndent?
Je peut changer sa frame, mais comme le texte est toujours aligné à droite bah ça changera pas le souci
Je me renseigne sur UIEdgeInsets et NSAttributedString
Ce que tu veux faire (symbolisation des espaces avec *) :
Si tu changes sa frame en
En quoi cela ne fonctionnerait pas ?
Le background du label n'a pas la même couleur que celui de sa superview?
Bah parce que la dans ton exemple le texte est centré, alors que dans mon cas si je fait un label de 5000 de largeur bah j'aurais mon texte à droite et 4980 pixels de blanc a gauche
Que je fasse ça
| | mon_texte**| |
ou ça
| | mon_texte||
Mon texte est toujours aligné à droite et sans aucune marge à droite, et il est justement la le souci
Merci ça règle mon souci