Swift 中的 NSAttributedString 问题
NSAttributedString issues in Swift
无论我走哪条路,我都遇到了 NSAtributedString 的问题,似乎无法弄清楚问题是什么。
使用下面的代码我得到:Cannot invoke 'init' with an argument list of type '(string: StringLiteralConvertible, attributes: $T6)'
let cancelButtonTitle = NSAttributedString(string: "CANCEL", attributes: [NSFontAttributeName: buttonFont, NSForegroundColorAttributeName: UIColor.whiteColor()])
知道问题出在哪里吗?我试过 xcode 6.1 和 6.2。
NSFontAttributeName
应设置为 UIFont
对象。
let buttonFont = UIFont.systemFontOfSize(10)
let cancelButtonTitle = NSAttributedString(string: "CANCEL",
attributes: [NSFontAttributeName: buttonFont,
NSForegroundColorAttributeName: UIColor.whiteColor()])
或者如果您使用的是特定字体。
if let buttonFont = UIFont(name: "Your Font", size: 10) {
let cancelButtonTitle = NSAttributedString(string: "CANCEL",
attributes: [NSFontAttributeName: buttonFont,
NSForegroundColorAttributeName: UIColor.whiteColor()])
}
因为UIFont(name:,size:)
构造函数returns一个optional
,你需要在NSAttributedString
中使用它之前解包
无论我走哪条路,我都遇到了 NSAtributedString 的问题,似乎无法弄清楚问题是什么。
使用下面的代码我得到:Cannot invoke 'init' with an argument list of type '(string: StringLiteralConvertible, attributes: $T6)'
let cancelButtonTitle = NSAttributedString(string: "CANCEL", attributes: [NSFontAttributeName: buttonFont, NSForegroundColorAttributeName: UIColor.whiteColor()])
知道问题出在哪里吗?我试过 xcode 6.1 和 6.2。
NSFontAttributeName
应设置为 UIFont
对象。
let buttonFont = UIFont.systemFontOfSize(10)
let cancelButtonTitle = NSAttributedString(string: "CANCEL",
attributes: [NSFontAttributeName: buttonFont,
NSForegroundColorAttributeName: UIColor.whiteColor()])
或者如果您使用的是特定字体。
if let buttonFont = UIFont(name: "Your Font", size: 10) {
let cancelButtonTitle = NSAttributedString(string: "CANCEL",
attributes: [NSFontAttributeName: buttonFont,
NSForegroundColorAttributeName: UIColor.whiteColor()])
}
因为UIFont(name:,size:)
构造函数returns一个optional
,你需要在NSAttributedString