Frage

Ich habe ein Problem. Benötigen Sie eine Komponente für Mix Text, Links und anklickbaren Text.

In Facebook App kann ein Beispiel sehen. http://img193.imageshack.us/img193/1355/example1t.jpg

Jemand weiß, ein als dies tun können. Zum Beispiel UITextView können Links im Text, erkennen aber nicht kann Einsatz klickbaren Text.

Danke für Ihre Hilfe.

War es hilfreich?

Lösung

Ich habe Core für diesen Zweck verwendet.

die Tap-Offsets Berechnung war ein bisschen schwierig, da ich vergessen, hielt das Koordinatensystem zu drehen, aber ich habe es schließlich, und hier ist ein kurzer Überblick darüber, wie Sie es tun können:

  1. Erstellen Sie Ihren Text als NSMutableAttributedString (da Sie es zu einem bestimmten Zeitpunkt ändern müssen).
  2. Scan es für den Text, den Sie einen Link zu, einfügen zwei Attribute hinzufügen möchten: 1) eine Textfarbe, die zum Beispiel ist, blau; und 2) einen benutzerdefinierten Link-Attribut (nennen Sie es, was Sie wollen, machen sein Wert der Link gehen wollen)
  3. Machen Sie den Text in Ihrem drawRect:. Sie erhalten eine CTFramesetterRef und CTFrameRef erstellen müssen (letzteres Sie um behalten wollen. Beachten Sie auch, dass ein framesetter Schaffung ein teurer Prozess ist, tun Sie es nur einmal (dh außerhalb von drawRect :) wenn möglich).
  4. In Ihrem Touch-Handling-Code, wie ich bereits erwähnt, werden Sie kompensieren müssen für die verschiedenen Systeme koordinieren. Von dort aus, vorausgesetzt, Sie wissen, wo Ihr Text seines Koordinatensystem verwendet wird, können Sie herausfinden, wo auf dem Text war der Hahn gemacht zu werden, die dann in Ihren Touch-Handler abgefangen werden können, wenn das Attribut über einen bestimmten CTRunRef enthält Ihren benutzerdefinierten Link Attribut. Ist dies der Fall, einfach das Attribut erhalten, und übergeben es an was auch immer -. In der Regel ist dies, wenn Sie wollen, einen Delegierten verwenden

Das ist der springende Punkt davon.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top