最近有一个需求,需要设置一个UILabel的字间距,我马上就想到了富文本,于是就写了下面的代码
1 | NSString *str = self.label.text; |
其中NSKernAttributeName属性就是设置文字的字间距。但是,现在就有一个问题,设置字间距后,原本居中显示的文字,不能居中显示了。
这是我设置字间距之前的label
这是我设置了字间距后的label
“你”字距左边距明显要比”鸿”字的右边距要大。
经过一阵Google,在StackOverflow上找到了相同的问题,链接是http://stackoverflow.com/questions/23741850/nsstring-drawinrectwithattributes-not-correctly-centered-when-using-nskernattr,根据问题回答里的做法,我把代码做了修改,如下:
1 | NSString *str = self.label.text; |
修改后效果如下: