我收到错误…
找不到接受提供的参数的’init’的重载
…当我尝试使用…
extension UIFont { func sizeOfString (string: String,constrainedToWidth width: Double) -> CGSize { Nsstring(string).boundingRectWithSize(CGSize(width,DBL_MAX),options: NsstringDrawingOptions.UsesLineFragmentOrigin,attributes: [NSFontAttributeName: self],context: nil).size } }
Nsstring不支持这种方法,还是我搞砸了语法?
初始化器期望命名参数。
extension UIFont { func sizeOfString (string: String,constrainedToWidth width: Double) -> CGSize { return Nsstring(string: string).boundingRectWithSize(CGSize(width: width,height: DBL_MAX),context: nil).size } }
注意:可以将字符串转换为Nsstrings。
extension UIFont { func sizeOfString (string: String,constrainedToWidth width: Double) -> CGSize { return (string as Nsstring).boundingRectWithSize(CGSize(width: width,context: nil).size } }
要么
extension UIFont { func sizeOfString (string: Nsstring,constrainedToWidth width: Double) -> CGSize { return string.boundingRectWithSize(CGSize(width: width,context: nil).size } }