2012-11-27 108 views
5

我有一個Tableview和tableview單元格被定製爲​​具有UILabel。 UILabel中的文本具有URL。有沒有辦法像UITextView將啓用檢測URL一樣檢測URL,以便用戶交互應該能夠加載URL。在UILabel中檢測網址

回答

5

如果您只想識別URL,則可以使用NSDataDetector和​​檢查類型。

如果要以不同方式繪製URL,並且您的目標是iOS 6,則可以使用NSAttributedString將URL變爲藍色或將它們加下劃線或任意。如果您的目標是舊版本的iOS,您可能需要在Internet上查找一些免費代碼來繪製樣式文本,如OHAttributedLabel

如果您希望實際使網址觸摸敏感,您可以在標籤上添加一個輕擊手勢識別器,並嘗試找出哪部分字符串被點擊(有點複雜),或者查找一些免費代碼互聯網已經爲你做了(比如OHAttributedLabel),或者只在表格視圖單元格中輸入UITextView而不是標籤。

+0

我的[這裏的答案](http://stackoverflow.com/a/29352519/168594)有一個示例代碼,它向您展示瞭如何使用UITapGestureRecognizer使您的UILabel的可點擊範圍變得如@RobMayoff所示。 – zekel

-4

正如Rob指出的那樣,我們如何才能取得同樣的效果。

但是,只要使用UILabel和UIButton,我們就可以使用一個機會來保存ios版本的問題(可能)。

我們需要做的是,無論是從IB還是故事板,只需將一個字符串作爲URL的UILabel(用作標題),說;

「www.myURL.com」

現在,它上面,放置一個UIButton(按鈕,自定義類型),只是用「______」(下劃線),並設置該按鈕重疊您的UILabel,也'下劃線'必須位於您的標籤下方。

現在,只需按下按鈕的操作即可,因爲您需要點擊URL,這裏還可以更改textColor等屬性;也加載URL並導航到UIWebView。