I have a one-line UILabel with attributed string that has underline. Anybody know how to increase space between that text and its underline? I would think this is supposed to be a common thing to do, but I can't find an answer anywhere.
Thanks!
To change the spacing between lines of text, you will have to subclass UILabel and roll your own drawTextInRect, or create multiple labels." This is a really old answer, and other have already addded the new and better way to handle this.. Please see the up to date answers provided below.
To make the text on UILabel underlined we will need to use the NSMutableAttributedString together with NSUnderlineStyleAttributeName. The Swift code snippet below demonstrates how to create a new UILabel programmatically and then use the NSMutableAttributedString to underline the text on the label.
To add line breaks in the text we'll use \n character in the string we want to assign to the label. Add the following code to the viewDidLoad Method of your controller class.
I don't think you can, but you're welcome to create an UILabel subclass and drawing your own line (using UIBezierPath or CGPath, for example) at the distance of your choice using the drawRect: method on your subclass.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With