J'ai un UiTextView dans ce que je veux Justifier le texte peut quelqu'un m'aider à le faireComment justifier le texte dans UITextView?
1
A
Répondre
1
il ne semble pas être actuellement disponible avec les API standard, mais voici une solution stackoverflow fiable.
0
Cela pourrait aider, je fait cela pour un UILabel, ce n'est pas parfait, je viens d'ajouter des espaces jusqu'à ce que chaque ligne remplit la largeur de rect de l'étiquette.
+ (void) justifyText:(UILabel*) label
{
NSString *text = label.text;
text = [text stringByReplacingOccurrencesOfString:@"\n" withString:@" "];
UIFont *font = label.font;
CGRect rect = label.frame;
NSArray *wordArray = [text componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSMutableString *lineBreakText = [NSMutableString stringWithString:@""];
NSMutableArray *lines = [NSMutableArray array];
for (NSInteger i = 0; i < [wordArray count]; ++i)
{
NSMutableString *testStr = [NSMutableString stringWithString: lineBreakText];
if (i != 0)
{
[testStr appendString:@" "];
}
[testStr appendString:[wordArray objectAtIndex:i]];
CGSize testSize = [testStr sizeWithFont:font constrainedToSize:rect.size lineBreakMode:UILineBreakModeCharacterWrap];
if (testSize.height > [font lineHeight])
{
[lines addObject:lineBreakText];
lineBreakText = [NSMutableString stringWithString:@""];
[lineBreakText appendString:[wordArray objectAtIndex:i]];
}
else
{
if (i != 0)
{
[lineBreakText appendString:@" "];
}
[lineBreakText appendString:[wordArray objectAtIndex:i]];
}
if (i >= [wordArray count] - 1)
{
[lines addObject:lineBreakText];
}
}
NSMutableString *spacingText = [NSMutableString stringWithString:@""];
for (NSInteger i = 0; i < [lines count] - 1; ++i)
{
NSString *line = (NSString*)[lines objectAtIndex:i];
NSMutableString *spacedStr = [NSMutableString stringWithString:line];
NSArray *wordArray = [text componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSInteger spacesCount = [wordArray count] - 1;
if (spacesCount <= 0)
{
continue;
}
NSRange findInRng = NSMakeRange(0, [spacedStr length]);
NSRange spaceRng = [spacedStr rangeOfString:@" " options:0 range:findInRng];
CGSize testSize = [spacedStr sizeWithFont:font constrainedToSize:rect.size lineBreakMode:UILineBreakModeCharacterWrap];
while (testSize.height <= [font lineHeight])
{
if (spaceRng.location == NSNotFound)
{
findInRng = NSMakeRange(0, [spacedStr length]);
spaceRng = [spacedStr rangeOfString:@" " options:0 range:findInRng];
}
[spacedStr insertString:@" " atIndex:spaceRng.location];
testSize = [spacedStr sizeWithFont:font constrainedToSize:rect.size lineBreakMode:UILineBreakModeCharacterWrap];
findInRng = NSMakeRange(spaceRng.location + 2, [spacedStr length] - spaceRng.location - 2);
spaceRng = [spacedStr rangeOfString:@" " options:0 range:findInRng];
}
if (i != 0)
{
[spacingText appendString:@"\n"];
}
[spacingText appendString:spacedStr];
}
[spacingText appendString:@"\n"];
[spacingText appendString:(NSString*)[lines lastObject]];
[label setLineBreakMode:UILineBreakModeTailTruncation];
[label setText:spacingText];
}
4
En 6 ios vous pouvez faire justifier le texte en utilisant ce code
UITextView *textView = //init your text view
textView.textAlignment = NSTextAlignmentJustified;
Questions connexes
- 1. Justifier le texte dans sIFR
- 2. Justifier le texte dans TextView Android
- 3. uibutton texte justifier
- 4. Pourquoi IE complète justifier le texte?
- 5. Justifier du texte dans un rapport
- 6. Comment justifier le texte et ajouter ... à la fin
- 7. Sauvegarder le texte de UITextVIEW?
- 8. css: align justifier, mais le texte sur le côté gauche
- 9. Justifier texte à l'intérieur des balises span
- 10. UITextView Alignement Problème
- 11. iphone UitextView Texte coupé
- 12. enregistrer le texte de uitextview à plist
- 13. UITextView Texte enrichi?
- 14. Comment puis-je justifier un texte dans une zone de texte dans Prawn?
- 15. faire du texte arround bulle dans uitextview?
- 16. comment afficher le HTML dans un UITextView
- 17. Comment envoyer du texte à UITextView?
- 18. flex, comment avoir 'justifier' l'option Alignement du texte
- 19. UITextView Texte alignmnet en haut
- 20. sqlite3 mettre à jour le texte dans uitextview
- 21. Le clavier mange ma ligne supérieure de texte dans UITextView!
- 22. Remplacer du texte dans un UITextView
- 23. Comment ajouter du texte défilant dans cocos2d en utilisant UITextView?
- 24. Comment déterminer la hauteur du texte dans UITextView?
- 25. Comment sauvegarder le contenu d'un UITextView?
- 26. Enregistrer UITextView texte Connectée à la cellule
- 27. Comment justifier une icône à droite dans un JLabel?
- 28. Saisir du texte SÉLECTIONNÉ sur UITextView
- 29. Comment faire disparaître le clavier d'un UITextView?
- 30. UITextView dans l'iphone
double possible de [Alignement Justifié dans UITextView - iPhone] (http://stackoverflow.com/questions/1301519/justified -alignment-in-uitextview-iphone) –