Wie kann ich eine UITextView
Schriftgröße ändern, so dass der gesamte Text in maximal zwei Zeilen passt? Wenn der Text perfekt auf eine oder zwei Zeilen passt, möchte ich nicht, dass sich die Schriftgröße ändert. Aber wenn der Text länger ist, muss er kleiner werden. Vielen Dank.Swift UITextView Schriftgröße ändern, wenn Text länger als zwei Zeilen ist
Antwort
Sofern Sie keine spezielle Notwendigkeit haben, eine UITextView
zu verwenden, empfehle ich die Verwendung einer UILabel
. Dieser Code begrenzt eine UILabel
auf zwei Linien und macht seinen Text Auto-Schrumpf:
label.numberOfLines = 2
label.adjustsFontSizeToFitWidth = true
Ich glaube, Sie einen großen Grund haben UITextView
zu verwenden, und so denke ich, das etwas schwierig sein kann und braucht eine Menge Tests zu Sehen Sie, es funktioniert genau so, wie Sie es erwartet haben.
Was würde ich vorschlagen, ist die Anzahl der Zeilen berechnen von:
let font = yourFont
let size = yourTextView.contentSize
let inset = yourTextView.textContainerInset
let rows = (size.height - inset.top - inset.bottom)/font.lineHeight
Get Reihen innerhalb textView
‚s Delegatmethode, so etwas wie textView:shouldChangeTextIn:...
zum Beispiel, und Schriftgröße ändern auf diese Informationen entsprechend.
Ein weiterer Vorschlag ist, unsichtbar UILabel
mit Eigenschaften wie unten angegeben zu machen:
label.font = yourFont
label.frame = CGRect(x: 0, y: 0, width: yourTextView.contentSize.width, height: yourTextView.contentSize.height)
label.numberOfLines = 2
label.adjustFontSizeToFitWidth = true
Dann innen textView
's Delegatmethode, aktualisieren label
' s Text und
textView.font = label.font
Ich bin nicht sicher Beide werden tatsächlich funktionieren, da ich sie nicht selbst getestet habe, aber ich hoffe, dass dies Ihnen helfen kann, einen Ausgangspunkt für dieses Problem zu setzen.
- 1. Ändern der Schriftgröße in UITextView
- 2. UITextView Schriftgröße Klasse nicht ändern
- 3. Swift Schriftgröße des UITextview erhöhen, wie?
- 4. Ändern der Schriftgröße von UITextView von UISlider
- 5. Größe von TEXT anpassen an UITextView
- 6. Ende von UITextView Text in Swift
- 7. Tabellenzeilen mit zwei Zeilen Text
- 8. Swift - Ändern der Schriftgröße in Etikett
- 9. UITextView mit Hyperlink-Text in Swift
- 10. Text von Anfang an anzeigen, wenn Text länger als die Breite der Textbox ist
- 11. UITextView Paging aktiviert Text abgeschnitten
- 12. Get Zeitunterschied zwischen zwei Aufzeichnungen, wenn länger als n Zeit
- 13. UITextView verschiebt Text anders als UILabel
- 14. Swift 3 - UITextView Gesamtkostenzähler
- 15. UITextView mit Hyperlink-Text
- 16. Ändern Sie die Schriftgröße vollständig auf Text in der Schaltfläche?
- 17. Swift UITextView Event Listener
- 18. Wie zu erweitern - kollabieren UITextView in Swift?
- 19. Taste ist länger als sie sollte
- 20. Ändern Sie die Schriftgröße von Sifr Text
- 21. Ändern UIBarButtonItem Text Schriftgröße und Farbe
- 22. Ändern Sie Schriftgröße mit jquery, wenn Bildschirmgröße ist mobile Größe
- 23. Swift Buttonaction Text ändern
- 24. iOS/Swift: Ist es möglich, die Schriftart in Teilen eines UITextView selektiv zu ändern?
- 25. UITextView druckt nicht mehrere Zeilen
- 26. Wie Block erhalten, Breite zu ändern, wenn Text länger ist als die Breite in einem mehrstufigen lustlosen Dropdown-Navigationsmenü
- 27. Wie mache ich Text in neue Zeile zu brechen, wenn es länger als Container ist
- 28. Swift kann UITextView nicht bearbeiten und kann keinen Text hinzufügen
- 29. Text in UITextView geht aus seinen Rahmen Swift 3
- 30. Arraylist ist ein Element länger als beabsichtigt