2016-04-02 4 views
0

Ich muss die Größe von TextView um basierend auf seinem Text zu erweitern, aber es zeigen das Problem, aber ich kann nicht behebe es, also bitte hilf mir, dieses Problem zu beheben. Ich poste den Code, was ich ausprobiert habe.'sizeWithFont (_: constrainedToSize: lineBreakMode :)' ist nicht verfügbar: Verwenden -boundingRectWithSize: Optionen: Attribute: Kontext:

var size: CGSize = text.sizeWithFont(UIFont.boldSystemFontOfSize(13), constrainedToSize: textSize, lineBreakMode:NSLineBreakMode.ByWordWrapping) 
+0

anzeigen (ObjC) Lösungen und Anregungen hier: http://stackoverflow.com/questions/19398674/sizewithfont-method-is-deprec ated-boundingrectwithsize-returns-an-unexpected-va – vadian

+0

Ok Danke. Aber wenn Sie Swift-Lösung geben, bedeutet das sehr hilfreich für mich. –

Antwort

4

Ich übersetzte die Antwort von this ObjC question in Swift; Was dich vielleicht aus der Fassung bringen könnte, ist, dass du String zu NSString umwandeln musst.

Swift 4

lassen text = "Hallo" lassen font = UIFont.systemFont (ofSize: UIFont.systemFontSize) lassen maxSize = CGSize (Breite: 100, Höhe: CGFloat.greatestFiniteMagnitude)

let size = (text as NSString).boundingRect(with: maxSize, 
     options: [.usesLineFragmentOrigin, .usesFontLeading], 
     attributes: [NSFontAttributeName:font], 
     context: nil) 
    .size 

Swift 3

let text = "Hello" 
let font = UIFont.systemFontOfSize(UIFont.systemFontSize()) 
let maxSize = CGSize(width: 100, height: CGFloat.max) 

let size = (text as NSString).boundingRectWithSize(maxSize, 
     options: [.UsesLineFragmentOrigin, .UsesFontLeading], 
     attributes: [NSFontAttributeName:font], 
     context: nil) 
    .size 
+0

Ich benutze diesen Code Bedeutet Es zeigt wie "Kann den Wert vom Typ 'UIFont' nicht in den erwarteten Argumenttyp 'CGSize' konvertieren. Dann gebe ich hier die Full-Funktion ... lass Text: NSString = message.text! lassen Textgröße: CGSize = CGSize (Breite: 260,0, Höhe: 10000.0) let size = (Text als NSString) .boundingRectWithSize (UIFont.boldSystemFontOfSize (13), Optionen: [NSStringDrawingOptions.UsesLineFragmentOrigin, .UsesFontLeading], Attribute: [NSFontAttributeName: font], context: nil) –

+0

Danke für Sie Hilfe es funktioniert jetzt richtig ... Sehr, sehr danke @Kevin –

+0

Danke! Es war nützlich. – Raja

Verwandte Themen