NSString boundingRectWithSize:options:attributes:context:在Swift中不可用?

前端之家收集整理的这篇文章主要介绍了NSString boundingRectWithSize:options:attributes:context:在Swift中不可用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我收到错误

找不到接受提供的参数的’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
    }
}

猜你在找的Swift相关文章