Search code examples
swifttextfontstextview

How to add two different font size to textview text in swift


I have heading and content two strings,

here i need heading with font 20 and bold and content with font 15 regular, but i am getting whole text in same font size.

here is the code:

import UIKit

class RefundandCancellationViewController: UIViewController {

@IBOutlet weak var refundTextview: UITextView!
override func viewDidLoad() {
    super.viewDidLoad()

    var heading = "Bills or Taxes once paid through the payment gateway shall not be refunded other then in the following circumstances:"
    var content = "\n \n 1. Multiple times debiting of Consumer Card/Bank Account due to ticnical error excluding Payment Gateway charges would be refunded to the consumer with in 1 week after submitting complaint form. \n \n 2. Consumers account being debited with excess amount in single transaction due to tecnical error will be deducted in next month transaction. \n \n 3. Due to technical error, payment being charged on the consumers Card/Bank Account but the Bill is unsuccessful.


        refundTextview.textColor = UIColor.gray
        refundTextview.text = heading + content

}
}

Solution

  • You can do that using attributedText.

    try like this

    var heading = "Bills or Taxes once paid through the payment gateway shall not be refunded other then in the following circumstances:"
    var content = "\n \n 1. Multiple times debiting of Consumer Card/Bank Account due to ticnical error excluding Payment Gateway charges would be refunded to the consumer with in 1 week after submitting complaint form. \n \n 2. Consumers account being debited with excess amount in single transaction due to tecnical error will be deducted in next month transaction. \n \n 3. Due to technical error, payment being charged on the consumers Card/Bank Account but the Bill is unsuccessful."
    
    let attributedText = NSMutableAttributedString(string: heading, attributes: [NSAttributedStringKey.font: UIFont.boldSystemFont(ofSize: 20)])
    
    attributedText.append(NSAttributedString(string: content, attributes: [NSAttributedStringKey.font: UIFont.SystemFont(ofSize: 15), NSAttributedStringKey.foregroundColor: UIColor.blue]))
    
    refundTextview.attributedText = attributedText