Il NSKernAttributeName può essere utilizzato.
Ma in correzione alle altre risposte: Non applicare alla lunghezza massima del testo, ma (text.length - 1).
La spaziatura positiva o negativa viene aggiunta alla lettera e non è richiesta per l'ultima. Supponiamo che tu aggiunga una spaziatura positiva che finirebbe in una spaziatura dopo l'ultima lettera. Una stringa centrata non sembra più centrata. Lo stesso vale per la spaziatura negativa.
NSString *text = @"Sample Text";
UILabel *label = [UILabel new]
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString: text];
[attributedString addAttribute:NSKernAttributeName value:[NSNumber numberWithDouble:-1.0] range:NSMakeRange(0, text.length-1)];
[label setAttributedTitle:attributedString forState:UIControlStateNormal];
Applicato a lunghezza del testo integrale.

Applicato (lunghezza del testo - 1). 
fonte
2017-07-04 12:05:56
Grazie J2K. Ho dimenticato la possibilità di applicare la crenatura a un subrange della stringa. –