2009-07-14 1 views
1

Ich habe eine Ansicht mit zwei UITextView-Elementen darin, von denen jedes an eine Steckdose in der Steuerung gebunden ist. Der Inhalt für diese kommt aus einer Datenbank und ist manchmal kurz oder ein anderes Mal lang. Ich möchte, dass es wie in html aussieht, mit <p>content1</p><p>content2</p>, so dass die Abstände vom Ende von content1 bis zum Anfang von content2 fest sind, aber content2 wird nach unten verschoben, wenn content1 lang ist.Wie man ein Standard-HTML-Text-Rendering auf dem iPhone nachahmt?

Scheint wie eine sehr grundlegende Voraussetzung, aber ich kann nicht wirklich herausfinden, wie man es mit Interface Builder macht. Würde mich über jede Hilfe freuen.

Dank

Antwort

1

Interface Builder unterstützt keine Beziehungen zwischen den Geschwisterelementen angibt; Die Cocoa-Layout-Engine macht alles relativ zur enthaltenden Ansicht.

Ich würde empfehlen, erstellen Sie eine einzelne UITextView, die beide Absätze enthält, Einfügen einer einzelnen leeren Zeile zwischen ihnen. Behalten Sie für jeden Absatz jedoch eine eigene Instanzvariable bei, und aktualisieren Sie bei jeder Aktualisierung auch die Anzeige und rekonstruieren Sie den kombinierten Text aus den zwei separaten Absätzen.

+0

Ja, danke. Am Ende habe ich UIWebView benutzt, damit ich auch Formatierung anwenden kann. Aber es schien ein lahmes Mittel zu sein. Ich denke, dass ich es separat machen könnte, indem ich die Größe des Begrenzungsrahmens basierend auf dem Text berechne (wie ich mir die UIWebView-Rendering-Engine vorstelle), aber es scheint, dass Bibliotheken dafür bereits verfügbar sein sollten. – farhadf

0

Sie können die Eigenschaft contentSize der Textansicht verwenden, um sie relativ zueinander auszurichten. Diese Eigenschaft gibt immer die Größe des tatsächlich angelegten Textinhalts wieder.