Adding underline to UILabel attributed string from the storyboard fails

谁都会走 提交于 2019-12-02 15:22:32

Here is the solution in storyboard: Open the Attribute Inspector (make sure label is selected), Change the dropdown value from 'Plain' to 'Attributed'. Now a a small text editor will be visible under the font of the label. Select the text of the label, right click and change the font to 'underline'.

I also have attached a screenshot and successfully underlined a text using storyboard in XCode 7.0.1

Underline your text in TextEdit(cmd-U) and copy-paste it in Attribute Inspector > Label > Text > Attributed.

Select label -> Attribute editor -> Title = Attributed

Select the text of the label in the text view in the editor -> Right click -> Font -> check Underline

If the change is not visible -> resize the label

You can make text underline from storyboard like this. But when you change the text programatically it will override and underline will gone. So if you have to change the text on runtime. Do this.

For Swift 3

 let text = myLabel.text
 let textRange = NSMakeRange(0, (text?.characters.count)!)
 let attributedText = NSMutableAttributedString(string: text!)
 attributedText.addAttribute(NSUnderlineStyleAttributeName , value: NSUnderlineStyle.styleSingle.rawValue, range: textRange)
 myLabel.attributedText = attributedText

For Swift 4

  let text = myLabel.text
  let textRange = NSRange(location: 0, length: (text?.count)!)
  let attributedText = NSMutableAttributedString(string: text!)
  attributedText.addAttribute(NSAttributedStringKey.underlineStyle, value: NSUnderlineStyle.styleSingle.rawValue, range: textRange)
  myLabel.attributedText = attributedText

Leave it set to plain. Make all of your changes. Then change it to attributed.

Mick

The Designer Way - Highly Customisable Version

I personally prefer to customise my design(s) as much as possible. Sometimes, you will find that using the built-in underline tool is not easily customisable.

To do something like the following, I have posted an example in How to make an underlined text in UILabel?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!