Cette question concerne la mise en œuvre d'une indentation du texte ("Le placement du texte plus éloigné du droit de le séparer du texte environnant") dans iOS.
Prenons par exemple le texte suivant: p>
Notez que la deuxième ligne de la section 2 commence plus loin à droite et juste en dessous de la ligne ci-dessus. P>
Mon code contient un tableau de i utilise Nstring code>, chacun doit être affiché sous forme de section avec une balle numérique comme ci-dessus. Par exemple: p>
uilable code> pour afficher le texte à l'écran.
Pour définir le texte de la matrice sur l'étiquette et séparer chaque chaîne dans une nouvelle ligne, j'utilise P> myLabel.text = [array componentsJoinedByString:@"\n"];
3 Réponses :
Uilabel ne va pas le couper si vous avez des exigences spécifiques spécifiques. Pour cela, vous devrez creuser un texte de base. La bonne nouvelle est que le texte de base vous permettra de faire n'importe quel type de mise en page de texte que vous pouvez imaginer. La mauvaise nouvelle est que tout ce pouvoir apporte une certaine complexité, afin de l'utiliser, vous devrez investir un peu de temps à apprendre comment le cadre fonctionne. P>
Une alternative appropriée dans certaines situations consiste à utiliser une vue Web pour afficher votre texte. UiWebView vous permettra de faire quelle que soit la mise en page de texte que vous pouvez gérer à l'aide de HTML et de CSS. P>
10x Pour votre réponse, j'ai imaginé que j'aurais besoin d'utiliser le cadre de texte de base. C'est une question très générique, je suppose que beaucoup de gens contrerent déjà ce problème et ont mis en œuvre une solution générique. Donc, je n'aime pas encore inventer la roue mais d'obtenir une certaine référence à un extrait de code ou du didacticiel.
Ceci est possible dans une certaine mesure dans iOS6 avec - [Uilabel SeattributeTextText:] code>.
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.headIndent = 29;
myLabel.attributedText = [[NSAttributedString alloc] initWithString:
@"1.\tShort line.\n2.\tLong line with content that triggers wrapping.\n3.\tShort line."
attributes:@{NSParagraphStyleAttributeName: paragraphStyle}];
Eh bien, j'ai décidé de la mettre en œuvre moi sans utiliser de texte de base, je viens de créer une vue de vue qui rend tout le travail d'indentation seul, et vous permet de la personnaliser comme vous le souhaitez. p>
Pour vous intéresser à la mise en œuvre, vous pouvez voir le code source et un exemple de projet ici:
Projet ECLISTVIEW P>
Vous devez remplacer le drawrect (pour le contrôle) et avoir besoin d'écrire votre propre code d'indentation pour résoudre ce problème.
Essayez-vous de le faire dans une liste à bulleted comme indiqué? Comment renduez-vous le bloc global? Pouvez-vous donner plus de contexte?
@Briannickel Oui J'ai besoin du style Bullet, j'ai ajouté des informations à ma question.