2013-02-12 2 views
7

Ich würde gerne wissen, wie man "Letter Spacing" programmatisch festlegt?UILabel wie man den Buchstabenabstand strafft

Diese Option ist für ein UILabel in einer XIB-Datei verfügbar und ist manchmal sehr praktisch.

Ich weiß, diese Frage vor gefragt worden, aber ich sehe nicht, eine Antwort, die diese beeing in der Interface Builder erwähnt, so war ich neugierig ...

Antwort

16

Sie sind wahrscheinlich für diese Suche:

Eigenschaft von UILabel neu in iOS6.

+0

Danke! Würden Sie upvote wenn ich könnte. Schade, dass es in iOS 5 nicht verfügbar ist, – Ivan

3

adjustsLetterSpacingToFitWidth ist deprecated ab iOS 7.

Sie jetzt würde (ab iOS 8) wahrscheinlich tun, wie etwas wollen:

NSAttributedString *as = 
[[NSAttributedString alloc] initWithString:@"Kerninating all the strings" 
           attributes:@{NSKernAttributeName : @(-2.0)}]; 
label.attributedText = as; 
1

Sie möchten vielleicht UILabel Eigenschaft verwenden:

allowsDefaultTighteningForTruncation: Bool 

und setzen Sie es auf true. (Standardeinstellung ist false)

Laut Apple Dokumentation:

Wenn diese Eigenschaft auf true gesetzt ist, strafft das Etikett Zeichenabstand des Textes, bevor so dass jede Kürzung auftreten. Das Etikett bestimmt die maximale Stärke des Anziehens automatisch basierend auf der Schriftart, der aktuellen Linienbreite, dem Zeilenumbruchmodus und anderen relevanten Informationen.

https://developer.apple.com/reference/uikit/uilabel/1620533-allowsdefaulttighteningfortrunca