无论如何要改变swift中“i”字符的微小颜色?
我想将“i”的圆圈颜色更改为橙色,但我找不到如何做到这一点。
例如,我有这个:
我想这样做:
我想用NSAttributedString
做到这一点,但我找不到任何东西。
“tittle”是“i”字符的圆圈,当我在互联网上搜索如何更改该颜色时,我只得到结果来更改UINavigationBar
标题
答案 0 :(得分:3)
通过使用一些Unicode技巧,你可以(有点)做到这一点。诀窍是combining dot above字符(U+0307
)。使其颜色不同并调整其基线以完全重叠i:
let attributes = [
NSFontAttributeName: UIFont.systemFontOfSize(50, weight: UIFontWeightHeavy)
]
let dotAttributes = [
NSFontAttributeName: UIFont.systemFontOfSize(60, weight: UIFontWeightHeavy),
NSForegroundColorAttributeName: UIColor.redColor(),
NSBaselineOffsetAttributeName: -15
]
let attributedString = NSMutableAttributedString(string: "cli\u{307}ck", attributes: attributes)
attributedString.setAttributes(dotAttributes, range: NSMakeRange(3, 1))
textLabel.attributedText = attributedString
结果:
缺点是您必须在dotAttributes
中试验字体大小和基线偏移量,以使其与常规文本一起使用 - 对它们没有通用规则。