J'essaie d'ajouter 2 espaces blancs à la dernière position d'une chaîne, mais lorsque j'ai mis cela dans une étiquette, je n'ai trouvé aucun espace. Mais si j'ai ajouté 2 espaces blancs avec un autre caractère, cela fonctionne bien. Ensuite, j'ai essayé d'ajouter 2 espaces blancs avec un caractère supplémentaire, puis de découper ces caractères supplémentaires. Mais pour tous ces cas, je n'ai observé aucun espace lorsque j'ai placé ceci dans une étiquette de texte. J'essaye ceci pour le bon alignement.
let name: String = self.cityModelArr[indexPos].countryShortName+" 12" let endIndex = name.index(name.endIndex, offsetBy: -2) let truncated = String(name[..<endIndex]) self.testLabel.text = truncated
J'ai essayé d'autres solutions sur Internet mais je n'ai pas réussi à atteindre mon objectif.
4 Réponses :
C'est tout à fait normal, le libellé supprime les espaces lorsque vous le prévisualisez à l'écran.
Vous pouvez éviter cela en utilisant un caractère NON-JOINER ZERO WIDTH (U + 200C), comme dans ce cas:
< pré> XXXJ'avais également essayé cette solution et le résultat était le même. let name: String = self.cityModelArr [indexPos] .countryShortName + "\ u {200c}" self.testLabel.text = name
Il n'est pas nécessaire de corriger trop de code pour cela
let name: String = "your string" + String(repeating: " ", count: 2)//Your Space count like your want 2 self.testLabel.text = name Response:- "your string "
seulement vous avez besoin de ce code: -
let name: String = self.cityModelArr[indexPos].countryShortName+" 12" let endIndex = name.index(name.endIndex, offsetBy: -2) let truncated = String(name[..<endIndex]) self.testLabel.text = truncated
Vous pouvez utiliser \ t à la fin de la chaîne pour ajouter de l'espace.
self.testLabel.text = "\(self.cityModelArr[indexPos].countryShortName)\t"
Vous pouvez définir votre chaîne comme
let strData = "This is testing string" self.lblText.text = "\(strData) "