如何在Swift中更改字母间距?

时间:2014-10-11 22:47:45

标签: ios xcode string swift navigation

我想更改导航栏标题中的字母间距,但到目前为止我还没有成功。

提前致谢。

3 个答案:

答案 0 :(得分:3)

您可以通过代码传递标题字符串以及一些空白间距(“E x a m p l e”),或使用制表符(\ t)或通过以下代码设置标题:

 let attributedString = NSMutableAttributedString(string: "Example")
 attributedString.addAttribute(NSKernAttributeName, value:   CGFloat(1.4), range: NSRange(location: 0, length: 9))

然后将referencedString指定给标题。

答案 1 :(得分:1)

波纹管功能对我有用,希望这对你有帮助

func setCharacterSpacig(string:String) -> NSMutableAttributedString {

    let attributedStr = NSMutableAttributedString(string: string)
    attributedStr.addAttribute(NSKernAttributeName, value: 1.25, range: NSMakeRange(0, attributedStr.length))
    return attributedStr
}

答案 2 :(得分:0)

UILabel的不错扩展:

extension UILabel{
func setCharacterSpacing(_ spacing: CGFloat){
    let attributedStr = NSMutableAttributedString(string: self.text ?? "")
    attributedStr.addAttribute(NSAttributedString.Key.kern, value: spacing, range: NSMakeRange(0, attributedStr.length))
    self.attributedText = attributedStr
 }
}

用法:

label.setCharacterSpacing(4)