Hyperlinks innerhalb von "über" Text für iPhone-Anwendung

8

Ich bin auf der letzten Strecke meiner ersten einfachen iPhone-Anwendung. Ich baue eine "ungefähre" Ansicht mit Krediten / Informationen / etc.

Ich versage an der einfachsten Sache: Wie kann ich Hyperlinks in den Text einbetten? Ich benutze derzeit eine UIView mit einem UILabel für den Text.

Ich habe hier nachgeschaut, und die Beispiel-Apps, aber nirgends hingekommen. Sollte ich ein UIWebView verwenden?

Thx.

    
Bwooce 11.01.2009, 14:14
quelle

5 Antworten

11

Ja, benutze ein UIWebView und lege statisches HTML hinein.

Wie so:

%Vor%     
frankodwyer 11.01.2009, 14:58
quelle
6

So starten Sie den Webbrowser unter der angegebenen URL:

%Vor%

Dieser Code kann überall ausgeführt werden. Ich habe UILabel unterklassifiziert, die Methode "touchedSended" hinzugefügt und sie dort eingefügt. (Vergessen Sie nicht labelname.userInteractionEnabled = YES;)

%Vor%     
Paxic 30.04.2009 00:11
quelle
4
___ qstnhdr ___ Hyperlinks innerhalb von "über" Text für iPhone-Anwendung ___ qstntxt ___

Ich bin auf der letzten Strecke meiner ersten einfachen iPhone-Anwendung. Ich baue eine "ungefähre" Ansicht mit Krediten / Informationen / etc.

Ich versage an der einfachsten Sache: Wie kann ich Hyperlinks in den Text einbetten? Ich benutze derzeit eine UIView mit einem UILabel für den Text.

Ich habe hier nachgeschaut, und die Beispiel-Apps, aber nirgends hingekommen. Sollte ich ein UIWebView verwenden?

Thx.

    
___ answer433046 ___

Ja, benutze ein UIWebView und lege statisches HTML hinein.

Wie so:

%Vor%     
___ answer5113142 ___

UIWebView ist wahrscheinlich der falsche Weg, dies zu tun. Es ist SEHR viel Overkill für so etwas. Du solltest ein Github-Projekt namens LRLinkableLabel ausprobieren.

Es werden automatisch URLs erkannt, die sich in der %code% -Eigenschaft befinden.

Sie können es wie folgt verwenden:

%Vor%

Dann stelle sicher, dass %code% diese Methode implementiert:

%Vor%

Sie können auch die Eigenschaften %code% und %code% verwenden, um das Erscheinungsbild der Beschriftung zu konfigurieren. Ab diesem Punkt können Sie es wie jedes andere UILabel verwenden.

Denken Sie daran, %code% auf %code% zu setzen, wenn Sie fertig sind, um sicherzustellen, dass alles aufgeräumt ist.

Hoffe, das hilft.

    
___ answer434122 ___

Danke Frank und Ryan.

Zusätzlich zu Franks Anleitung musste ich auch das UIWebViewDelegate implementieren und im Interface Builder verlinken. Der Grund war, dass jeder angeklickte Link in meiner Anwendung geöffnet wurde (ohne Navigation möglich ...). Ich musste nur diese Methode implementieren, die jede URL mit der entsprechenden App öffnet:

%Vor%     
___ tag123cocoatouch ___ Die Cocoa Touch-Frameworks, die iOS-Apps steuern, teilen viele bewährte Muster, die auf dem Mac gefunden wurden, wurden jedoch mit besonderem Fokus auf Touch-basierte Oberflächen und Optimierung erstellt. ___ tag123iphone ___ Verwenden Sie diesen Tag NICHT, es sei denn, Sie wenden sich speziell an Apple's iPhone und / oder iPod touch. Verwenden Sie für nicht hardwareabhängige Fragen das Tag [ios]. Weitere zu betrachtende Tags sind [xcode] (aber nur, wenn es sich um die IDE selbst handelt), [swift], [objective-c] oder [cacao-touch] (aber nicht [cocoa]). Bitte verzichten Sie auf Fragen zum iTunes App Store oder zu iTunes Connect. Wenn Sie C # verwenden, markieren Sie mit [mono]. ___ answer804863 ___

So starten Sie den Webbrowser unter der angegebenen URL:

%Vor%

Dieser Code kann überall ausgeführt werden. Ich habe UILabel unterklassifiziert, die Methode "touchedSended" hinzugefügt und sie dort eingefügt. (Vergessen Sie nicht labelname.userInteractionEnabled = YES;)

%Vor%     
___ antwort433129 ___

Sie können Safari auslösen, indem Sie die Methode UIApplication openURL: mit der URL aufrufen, die Sie anzeigen möchten. Dadurch wird Ihre App geschlossen und dann Safari (oder Mail / Youtube / etc) geöffnet.

Sie werden Ihren Link irgendwie, vielleicht in einem Knopf, machen wollen. Dieser Teil liegt an dir.

Wenn Sie HTML-Inhalt in Ihre Ansicht einbetten möchten, verwenden Sie unbedingt ein UIWebView.

Links erfordern die Anmeldung des iPhone-Dev-Centers.

UIApplication openURL:

iPhone-URL-Schema-Referenz

    
___
Ryan Townshend 11.01.2009 16:11
quelle
4

UIWebView ist wahrscheinlich der falsche Weg, dies zu tun. Es ist SEHR viel Overkill für so etwas. Du solltest ein Github-Projekt namens LRLinkableLabel ausprobieren.

Es werden automatisch URLs erkannt, die sich in der .text -Eigenschaft befinden.

Sie können es wie folgt verwenden:

%Vor%

Dann stelle sicher, dass self diese Methode implementiert:

%Vor%

Sie können auch die Eigenschaften linkColor und textColor verwenden, um das Erscheinungsbild der Beschriftung zu konfigurieren. Ab diesem Punkt können Sie es wie jedes andere UILabel verwenden.

Denken Sie daran, delegate auf nil zu setzen, wenn Sie fertig sind, um sicherzustellen, dass alles aufgeräumt ist.

Hoffe, das hilft.

    
Jake Marsh 25.02.2011 03:03
quelle
1

Danke Frank und Ryan.

Zusätzlich zu Franks Anleitung musste ich auch das UIWebViewDelegate implementieren und im Interface Builder verlinken. Der Grund war, dass jeder angeklickte Link in meiner Anwendung geöffnet wurde (ohne Navigation möglich ...). Ich musste nur diese Methode implementieren, die jede URL mit der entsprechenden App öffnet:

%Vor%     
Bwooce 12.01.2009 00:37
quelle

Tags und Links