0
internal func rangeFromNSRange(_ nsRange: NSRange) -> Range<String.Index>? {
let from16 = utf16.startIndex.advanced(by: nsRange.location)
let to16 = from16.advanced(by: nsRange.length) //advanced(by:) is unavailable
if let from = String.Index(from16, within: self),
let to = String.Index(to16, within: self) {
return from ..< to
}
return nil
}
4 Iは、迅速3でこのファイルを持っていると私は4迅速に変換しようとしているが、私もこのエラーとこのエラーが出る「(:)だけ前進」への迅速な3から利用できない変換があるSWIFT
public func height(_ width: CGFloat, font: UIFont, lineBreakMode: NSLineBreakMode?) -> CGFloat {
var attrib: [String: AnyObject] = [NSAttributedStringKey.font.rawValue: font]
if lineBreakMode != nil {
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineBreakMode = lineBreakMode!
attrib.updateValue(paragraphStyle, forKey: NSAttributedStringKey.paragraphStyle.rawValue)
}
let size = CGSize(width: width, height: CGFloat(Double.greatestFiniteMagnitude))
return ceil((self as NSString).boundingRect(with: size, options: NSStringDrawingOptions.usesLineFragmentOrigin, attributes:attrib, context: nil).height)
}
// '[文字列:ANYOBJECT]' 型の値を変換できません期待引数の型に '[NSAttributedStringKey:任意]?
あなたは 'boundingRect'パラメータとして表示されている' attrib 'とは何ですか? –
私の質問をもう一度確認してください – leo0019
'rawValue'を削除してください。したがって、あなたの 'attrib'変数は' [.font:font] 'でなければなりません。 –