2017-02-01 4 views
0

Sag ich habe einen Satz gerendert That looks like this.Wie wird der Abstand zwischen zwei Wörtern mit NSAttributedString hinzugefügt?

Wenn ich wollte, dass mehr Platz auf entweder von like gesagt wird, wie würde ich das tun? So würde es effektiv aussehen That looks like this.

Injizieren von Räumen wird nicht funktionieren.

+0

Verwendung „\ t“ Tab in Zeichenfolge wie „Das sieht \ t wie diese“ –

+1

Warum wird nicht das Hinzufügen Räumen zu arbeiten ? Verwenden Sie Non-Break-Räume. – rmaddy

Antwort

0

Bitte versuchen Sie es wie diese

1. Option

NSString *str = [NSString stringWithFormat:@"That looks %4s this",[@"like" UTF8String]]; 

% @ Formatierer hinzufügen keine Leerzeichen Feldbreite einzustellen. Also benutze ich UTF8String mit% s specifier, um die Breite anzupassen.

Breite spezifiziert eine minimale Anzahl von Zeichen auszugeben, und es wird in der Regel auf Unterlage mit fester Breite Feldern in Tabellenausgabe

2. Option

In Tab Raum in string

NSString *string = @"That looks \t like this"; 
verwendet

Ich hoffe, es wird funktionieren.

+0

Warum ist Option 1 so verschachtelt? Fügen Sie einfach Leerzeichen vor und nach dem Wort hinzu. – rmaddy

+0

Ja, fügen Sie normale Leerzeichen hinzu, es wird funktionieren, aber ich weiß nicht, warum es nicht für ihn funktioniert. –

+0

Also dann, wie löst Ihre Option 1 "Lösung" das Problem? Ihr Code gibt einfach die exakt gleiche Zeichenfolge an. – rmaddy

0

Versuchen Sie, diese

NSString *string = @"That looks \u00a0 \u00a0 like this"; 
0

dies mit Attributen zu tun, die Schrift in den Bereichen festgelegt, wo die Räume auf eine Schrift größer sind als der Rest der Zeichenfolge. (Wesentlich größer für eine Proportionalschrift)

NSString *string = @"That looks like this"; 
NSMutableAttributedString *attrString=[[NSMutableAttributedString alloc] initWithString:string]; 

[attrString addAttribute:NSFontAttributeName 
        value:[UIFont systemFontOfSize:50.0] // big 
        range:NSMakeRange(4, 1)]; 
[attrString addAttribute:NSFontAttributeName 
        value:[UIFont systemFontOfSize:50.0] 
        range:NSMakeRange(10, 1)]; 

// present it somewhere where attributes are rendered 
self.textView.attributedText = attrString; 
0

können Sie dies auch

[yourString stringByReplacingOccurrencesOfString:@"like" withString:@" like "]; 
Verwandte Themen