2013-01-17 22 views
33

Używam Kreatora interfejsu do układu mojej aplikacji. Mam UITextView zawierający tekst, którego częścią jest URL, który chciałbym uczynić klikalnym (np. Uruchamia przeglądarkę). Przeczytałem, jak to zrobić i wierzę, że robię to poprawnie, jednak gdy adres URL jest niebieski/klikalny, kliknięcie go w emulatorze iPhone'a nie działa. Nic się nie dzieje.Nie można ustawić adresu URL w UITextView

Mój kontroler:

@interface FirstViewController : UIViewController <UISearchBarDelegate> 
@property (nonatomic, retain) IBOutlet UITextView *review; 
@end 

W moim realizacji I @synthesize review; (i jestem w stanie manipulować tekstem widoku, więc nie sądzę, że to kwestia).

W IB mam:

IB Settings

..then później, kiedy idę do ustawienia tekstu (i próbować uczynić URL w widoku klikalne) zrobić:

self.review.text = content; 
// My understanding is that this makes URLs clickable... 
self.review.dataDetectorTypes = UIDataDetectorTypeLink; 

... który wyświetla coś takiego:

Simulator Output

... który naprawdę wygląda na to, że chce działać, jednak po kliknięciu adresu URL nic się nie dzieje. czego mi brakuje?

--UPDATE--

Próbowałem dodanie self.review.editable = NO; w odpowiedzi na odpowiedź Dixit Patel, ale to nie rozwiąże problemu:

self.review.text = content; 
// My understanding is that this makes URLs clickable... 
self.review.editable = NO; 
self.review.dataDetectorTypes = UIDataDetectorTypeLink; 
+1

Rewizja huh? Chciałbym wiedzieć, dlaczego. – Madbreaks

Odpowiedz

14

Kwestia ta była, że ​​User Interaction Enabled nie była sprawdzana w dolnej części sekcji Widok IB Atrybuty inspektora:

+0

Zrobiłeś mój dzień kochany! – Prasanna

21

Spróbuj skorzystać z tej nadziei, że to pomoże wam

Linki nie mogą być klikalne domyślnie w UITextView. Ale na szczęście mogą być włączone za pomocą kilku prostych linii kodu:

self.review.editable = NO; 
self.review.dataDetectorTypes = UIDataDetectorTypeLink; 

Niestety nie można mieć edytowalną UITextView z klikalne odnośniki. Jeśli ustawisz opcję edycji na TAK, wszystkie łącza będą traktowane jako zwykły tekst.

EDIT

Czy u sprawdzić właściwie może być UITextView wyłączyć w pliku .xib.

enter image description here

+0

Dzięki. Dodano "self.review.editable = NO;" (już miało drugą część), ale nadal nie działa. Próbowałem zarówno dodawać te linie kodu przed i po ustawieniu widoku "tekst". – Madbreaks

+0

Zaktualizowałem moje pytanie, aby uwzględnić ustawienie do edycji. – Madbreaks

+2

@Madbreaks have u check właściwie to może być wyłączone wyświetlanie UITextview w pliku .xib. –

48

sprawdzić „wyboru” i „Links” Pola wyboru w TextView Inspektor atrybutów.

+0

self.selectable = true –

+1

nie ma na to przycisku w edytorze storyboardów –

+1

@AntonTropashko Właściwie w edytorze scenorysów znajduje się przycisk do tego. Jest w Inspektorze atrybutów. – shim

Powiązane problemy