YasT answer in Swift:
Swift 3
let bigString = "BIG" let smallString = "Small String" let fullString = "\(bigString) \(smallString)" let string = NSMutableAttributedString(string: fullString) let bigStringRange = NSRange(location: 0, length: bigString.utf16.count) let smallStringRange = NSRange(location: bigStringRange.length, length: smallString.utf16.count) let bigStringFontSize: CGFloat = 28 let smallStringFontSize: CGFloat = 18 string.beginEditing() string.addAttribute(NSFontAttributeName, value: UIFont.systemFont(ofSize: bigStringFontSize), range: bigStringRange) string.addAttribute(NSFontAttributeName, value: UIFont.systemFont(ofSize: smallStringFontSize), range: smallStringRange) string.addAttribute(NSBaselineOffsetAttributeName, value: (bigStringFontSize - smallStringFontSize) / 2, range: smallStringRange) string.endEditing()
Swift 4
let bigString = "BIG" let smallString = "Small String" let fullString = "\(bigString) \(smallString)" let string = NSMutableAttributedString(string: fullString) let bigStringRange = NSRange(location: 0, length: bigString.count) let smallStringRange = NSRange(location: bigStringRange.length, length: smallString.count) let bigStringFontSize: CGFloat = 28 let smallStringFontSize: CGFloat = 18 string.beginEditing() string.addAttribute(.font, value: UIFont.systemFont(ofSize: bigStringFontSize), range: bigStringRange) string.addAttribute(.font, value: UIFont.systemFont(ofSize: smallStringFontSize), range: smallStringRange) string.addAttribute(.baselineOffset, value: (bigStringFontSize - smallStringFontSize) / 2, range: smallStringRange) string.endEditing()
the4kman Dec 16 '17 at 18:48 2017-12-16 18:48
source share