How to make part of a string bold in iOS?

后端 未结 3 2387
栀梦
栀梦 2021-02-20 07:25

I want to make some part of a text string bold.

Eg: This is to be bold. This is normal string.

In Android, it can be easily achieved by using spannable s

相关标签:
3条回答
  • 2021-02-20 07:50

    Yes, it can be achieved with NSAttributedString:

    NSString *yourString = @"This is to be bold. This is normal string.";
    NSMutableAttributedString *yourAttributedString = [[NSMutableAttributedString alloc] initWithString:yourString];
    NSString *boldString = @"This is to be bold";
    NSRange boldRange = [yourString rangeOfString:boldString];
    [yourAttributedString addAttribute: NSFontAttributeName value:[UIFont boldSystemFontOfSize:12] range:boldRange];
    [yourLabel setAttributedText: yourAttributedString];
    
    0 讨论(0)
  • 2021-02-20 07:50

    You can achieve this using NSMutableAttributedString.

    Refer Apple docs about NSMutableAttributedString.

    I'd tried this answer's code to get bold and normal font in an UILabel.

    0 讨论(0)
  • 2021-02-20 08:09

    Swift version:

    @IBOutlet var theLabel: UILabel!
    @IBOutlet var theTextview: UITextView!
    
            let theString = "Please satisfy three of the following password conditions" as NSString
            let theAttributedString = NSMutableAttributedString(string: theString as String)
    
            let boldString = "three"
            let boldRange = theString.range(of: boldString)
            let font = UIFont.boldSystemFont(ofSize: 20)
    
            theAttributedString.addAttribute(NSFontAttributeName, value: font, range: boldRange)
            theLabel.attributedText = theAttributedString
            theTextview.attributedText = theAttributedString
    
    0 讨论(0)
提交回复
热议问题