2015-10-30 11 views
5

Ich habe eine App, die UITextViews verwendet, um Text anzuzeigen (möglicherweise mehrzeilig) und funktionierte ordnungsgemäß in iOS8. Ich habe das Scrollen deaktiviert, indem ich self.scrollEnabled = false deklarierte. Die UITextView würde Wörter zu neuen Zeilen wo nötig brechen und alles schien zu funktionieren!iOS9 Multi-Line UITextView wird nicht richtig angezeigt

Wenn ich jedoch den Code auf iOS9 ausführte, würde die UITextView immer nur eine Textzeile anzeigen (egal wie viele Textzeilen es gab).

enter image description here

Ich erkennen, wenn ich die Linie self.scrollEnabled = false entfernt, die korrekt wiedergegeben UITextView (alle Linien zeigen), aber es war wieder scrollbaren offensichtlich zu sein, und das war nicht die Absicht.

enter image description here

Was soll ich tun, die UITextView zu ermöglichen, mehrere Zeilen zu machen und Scrollen deaktivieren? Hat jemand dieses Problem schon einmal gesehen oder irgendwelche Vorschläge?

Danke!

+0

Können Sie bitte das gleiche Verhalten überprüfen durch Verringern Schriftgröße des textView? Nur zum Testen – channi

+0

Verringern Sie einfach die Schriftgröße, so dass zwei Zeilen in IB passen können. dann wird es funktionieren –

+2

Ich baue die Größe der UITextView programmatisch aus. Wenn ich jedoch die Höhe um ein paar Pixel (das gleiche Konzept wie die Verringerung der Schriftgröße) erhöhen, haben Sie Recht, die Dinge funktionieren! Seltsam, dass sich die Messfunktion von 'boundingRectWithSize' von iOS8 auf iOS9 änderte. Ich muss eine Zeile einwerfen, die diesen Größenunterschied korrigiert :( – Alex

Antwort

1

Sie sollten die textContainerInset des eingestellten Textview

Der Code unten ein UITextView mit mehreren Zeilen erstellt (Sie sollten auch Einschränkungen der Textview eingestellt)

let titleTextView: UITextView = { 
    let textView = UITextView() 
    textView.translatesAutoresizingMaskIntoConstraints = false 
    textView.text = "something to say" 
    textView.textContainerInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) 
    textView.textColor = UIColor.lightGray 
    textView.font = UIFont(name: "Helvetica", size: 14) 
    return textView 
}() 
Verwandte Themen