Ios NSStringDrawingOptions转换值
我从GitHub使用JSSAlertView,在将Xcode更新为7.0后,代码出现错误 错误为“无法将“[String:UIFont?]”类型的值转换为预期的参数类型“[String:AnyObject]” 我不明白NSFontAttributeName:textView.font做了什么Ios NSStringDrawingOptions转换值,ios,swift,Ios,Swift,我从GitHub使用JSSAlertView,在将Xcode更新为7.0后,代码出现错误 错误为“无法将“[String:UIFont?]”类型的值转换为预期的参数类型“[String:AnyObject]” 我不明白NSFontAttributeName:textView.font做了什么 // Position text if self.textView != nil { let textString = textView.text! as NSString
// Position text
if self.textView != nil {
let textString = textView.text! as NSString
let textAttr = [NSFontAttributeName:textView.font]
let realSize = textView.sizeThatFits(CGSizeMake(contentWidth, CGFloat.max))
let textSize = CGSize(width: contentWidth, height: CGFloat(fmaxf(Float(90.0), Float(realSize.height))))
let textRect = textString.boundingRectWithSize(textSize, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: textAttr, context: nil)
self.textView.frame = CGRect(x: self.padding, y: yPos, width: self.alertWidth - (self.padding*2), height: ceil(textRect.size.height)*2)
yPos += ceil(textRect.size.height) + padding/2
}
NSStringDrawingOptions
是一组选项。您必须提供一个值,如NSStringDrawingOptions.UsesFuntleding
有关详细信息,请参阅
编辑:
要回答您编辑的问题,
textView.font
是可选选项。打开它最简单的方法是添加感叹号textView.font代码>。但我更喜欢条件绑定。阅读有关optionals的内容。我尝试过,但仍然出现错误,无法将“[String:UIFont?]”类型的值转换为预期的参数类型“[String:AnyObject]”