2012-11-27 27 views
5

Mam komórkę Widok tabeli i tabelę jest dostosowany, aby mieć UILabel. Tekst w UILabel ma adresy URL. Czy istnieje sposób na wykrywanie adresów URL, np. Jak UITextView umożliwi wykrywanie adresów URL, aby interakcja z użytkownikiem mogła ładować adresy URL.Wykryj adresy URL w UILabel

Odpowiedz

5

Jeśli chcesz tylko zidentyfikować adresy URL, możesz użyć NSDataDetector z typem sprawdzania NSTextCheckingTypeLink.

Jeśli chcesz narysować adresy URL inaczej i kierujesz się na system iOS 6, możesz użyć adresu URL NSAttributedString, aby zmienić adresy URL na niebieski lub podkreślić je lub cokolwiek innego. Jeśli kierujesz reklamy na starszą wersję iOS, prawdopodobnie będziesz szukał wolnego kodu w Internecie, aby narysować stylizowany tekst, na przykład OHAttributedLabel.

Jeśli chcesz, aby adresy URL były wrażliwe na dotyk, możesz dodać znak rozpoznawania gestów do etykiety i spróbować dowiedzieć się, która część ciągu została dotknięta (nieco skomplikowana) lub poszukać bezpłatnego kodu Internet, który już to robi dla Ciebie (np. OHAttributedLabel), lub po prostu umieść UITextView w komórce widoku tabeli zamiast etykiety.

+0

Moja [odpowiedź tutaj] (http://stackoverflow.com/a/29352519/168594) ma przykładowy kod, który pokazuje, jak tworzyć zakresy twojej karty UILabel z UITapGestureRecognizer, jak zasugerował @RobMayoff. – zekel

-4

jak zauważył Rob, jak możemy to osiągnąć jest niesamowity.

Ale możemy użyć taktu, który można zapisać w wersji ios (ewentualnie), tylko za pomocą UILabel i UIButton.

To, co musimy zrobić, to albo z IB albo z tablicy opowieści, po prostu umieść UILabel z ciągiem znaków jako URL (użyj tego jako tytułu), powiedz;

„www.myURL.com”

Teraz, tuż nad nim umieścić UIButton (przycisk z niestandardowego typu), i po prostu użyć „______” (podkreślenie) i ustawić ten przycisk, jak pokrywają swoim UILabel a także "podkreślenie" musi znajdować się pod Twoją etykietą.

Teraz, po prostu rób w akcji przycisk, który jest potrzebny, gdy potrzebujesz na kliknięcie adresu URL, a tutaj również możesz zmienić textColor, etc, properties; również załaduj adres URL i przejdź do interfejsu UIWebView.