2012-05-07 156 views
0

我試圖創建一個新聞源,如:「用戶(可點擊)在中央公園(可點擊)周圍跑了3分鐘」。可點擊的鏈接應該只是調用一個可以推送新ViewController的函數。UILabel帶有可點擊鏈接功能

UILabel不支持可點擊鏈接,我想知道如何實現它。 FancyLabel看起來很老(2008年),TTTLabel似乎只處理外部鏈接,電話和地址。

+0

嘗試一個UIWebView在可點擊的部分是超鏈接? – jrturton

回答

2

你也可以使用一個鏈接一個UIWebView並處理緊迫的環節中

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 
1

您可以添加點擊手勢識別到一個UILabel正是如此:

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myMethodName)]; 
myLabel.userInteractionEnabled = YES; 
[myLabel addGestureRecognizer:tap]; 

但是根據您的要求,我可能會建議你使用一個UIButton代替。我們習慣於點擊網絡中的鏈接,但在本地應用中,通常更易於使可點擊區域變大(蘋果推薦至少44px)。

+0

我不是用戶點擊整個UILabel,只有部分。 –

1

使用與委託方法一個UIWebView。

在故事板中鏈接uiwebview和uiviewcontroller(委託)。

- (BOOL)webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType { 
    if (inType == UIWebViewNavigationTypeLinkClicked) { 
     [[UIApplication sharedApplication] openURL:[inRequest URL]]; 
     return NO; 
    } 

    return YES; 
} 

製作河畔,您的網址有 「HTTP://」