2016-09-06 120 views
0

无论如何改变“我”字符的标题颜色在迅速吗?如何更改“我”圈颜色(标题颜色)

我想改变“我”的圆圈的颜色为橙色,但我无法找到如何做到这一点。

例如,我有这样的:

click

,我想这样做:

click orange circle

我想这样做与NSAttributedString,但我无法找到任何东西。

的“丝毫不差”是“我”字的圈子,当我在互联网上搜索如何改变这种颜色,我只得到结果改变UINavigationBar标题

+0

您的意思是构建一个属性字符串,其中“Click”中的“i”具有另一种颜色而不是其他颜色? – Sajjon

+0

@Sajjon不,我想改变“我”的圈子的颜色,像图片的“我” – pableiros

+4

我相当确定这是不可能的使用NSAttributedString。或根据字符串的基础。我认为你需要一个图像。 – Sajjon

回答

3

通过使用一些Unicode的技巧,你可以(有点)这样做。诀窍是combining dot above字符(U+0307)。使它成为一个不同的颜色,并调整其基准对我完全重合点:

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 

结果:

enter image description here

的缺点是,你有字体大小和基线试验在dotAttributes中抵消,以使其与常规文字发挥不错 - 对他们没有通用规则。

+0

非常感谢你,它完美的作品! – pableiros