How to increase the character spacing in UILabel

Solution 1:

You should probably use NSAttributedString with NSKernAttributeName attribute

Here is a small example:

UILabel *label = [[UILabel alloc] initWithFrame:self.view.bounds];

NSString *string = @"Some important text";
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string];

float spacing = 5.0f;
[attributedString addAttribute:NSKernAttributeName
            value:@(spacing)
            range:NSMakeRange(0, [string length])];

label.attributedText = attributedString;
[self.view addSubview:label];

Solution 2:

Swift extension for this

extension UILabel {
    func addCharactersSpacing(spacing:CGFloat, text:String) {
        let attributedString = NSMutableAttributedString(string: text)
        attributedString.addAttribute(NSAttributedString.Key.kern, value: spacing, range: NSMakeRange(0, text.count-1))
        self.attributedText = attributedString
    }
}

So you can use it

MyLabel.addCharactersSpacing(5, text: "Some Text")