2012-05-07 69 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://”