Länge der Zeichenfolge mit der angegebenen schriftart zu passen UITextView

Muss ich verschieben text, den der Benutzer eingegeben hat, in einer großen multi-line UITextView in eine kleinere (aber immer noch multi-line) UITextView*. Wenn der Benutzer eingegeben hat mehr text als Anzeige in der kleineren Ansicht, ich möchte kürzen Sie den text so, dass es passt mit alle die (gekürzte) text sichtbar. (Weder die große UITextView noch das kleinere scrollen soll.)

Was ist der beste Weg, dies zu tun?

Kann ich eine Schleife verwenden, die Verkürzung der string durch ein Zeichen jeder Zeit, und verwenden Sie dann NSString's sizeWithFont: constrainedToSize: lineBreakMode: um herauszufinden, die Höhe dieser kürzere Zeichenfolge benötigen würden, und dann vergleichen Sie das mit der Höhe habe ich in meinem kleineren UITextView endet die Schleife, wenn der string passt - aber das scheint langsam und umständlich. Es muss einen besseren Weg geben.

Möchte ich nur sagen, das Ziel UITextView abschneiden seiner Anzeigetext Mitglied, wie es zeigt Sie auf dem Bildschirm, aber ich habe nicht in der Lage gewesen, einen Weg zu finden, das zu tun.

*Mehr Kontext auf diese, aus einem Kommentar, den ich gemacht unter:

Habe ich eine Landschaft, app. Ich ändere das layout der anzeigen, je nach dem Foto, das der Benutzer auswählt. Wenn es eine Landschaft Foto, die Bildunterschrift ist kleiner - nur in einer Zeile am unteren Rand des Fotos. Wenn Sie wählt ein portrait-Foto, dann es ist genug Platz ich kann für Sie die Beschriftung an der Seite des Fotos, also die Beschriftung ist größer.

Wenn der Benutzer änderungen an Ihr Foto, das die Orientierung von hochformat auf Querformat, dann will ich kürzen Sie den text, und dann erlauben Sie Ihr, um es zu Bearbeiten, so dass es Sinn macht. Ich konnte nur zappen, aber ich würde es vorziehen, um es zu erhalten, zu minimieren Ihre Eingabe.

InformationsquelleAutor Jane Sales | 2009-05-12
Schreibe einen Kommentar