2013-02-12 12 views
7

Chciałbym wiedzieć, jak programowo "Zaostrzyć odstęp między literami"?UILabel: jak dokręcić odstęp między literami

Ta opcja jest dostępna dla UILabel wykonanego w pliku Xib i czasami jest bardzo przydatna.

Wiem, że to pytanie zostało zadane wcześniej, ale nie widzę odpowiedź, która wspomina o tym bardzo dobrym dostępny w konstruktora interfejsu, więc byłem ciekaw ...

Odpowiedz

16

Prawdopodobnie patrząc na to:

@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth 

Właściwość UILabel nowa w iOS6.

+0

Dziękujemy! Czy upvote czy mogłem. Szkoda, że ​​nie jest dostępny w iOS 5, – Ivan

3

adjustsLetterSpacingToFitWidth jest deprecated jak iOS 7.

Można by teraz (jak iOS 8) prawdopodobnie chcesz zrobić coś takiego:

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

Możesz też użyć własności UILabel:

allowsDefaultTighteningForTruncation: Bool 

i ustaw go na true. (Domyślnie jest false)

Według Apple Dokumentacja:

Gdy ta właściwość ma wartość true, etykieta napina intercharacter rozstawie swoim tekście przed zezwoleniem każdy obcięcie występuje. Etykieta określa maksymalną wielkość dokręcania automatycznie w oparciu o czcionkę, bieżącą szerokość linii, tryb łamania linii i inne istotne informacje.

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

Powiązane problemy