UILabel具有可点击的功能链接

时间:2012-05-07 16:29:17

标签: ios uilabel

我正在尝试创建一个新闻Feed,例如:“用户(可点击)在中央公园周围跑步3分钟(可点击)”。可点击链接应该只调用一个函数,我可以在其中推送一个新的ViewController。

UILabel不支持可点击链接,我想知道如何实现它。 FancyLabel看起来很旧(2008),TTTLabel似乎只处理外部链接,电话和地址。

4 个答案:

答案 0 :(得分:2)

您也可以使用带有链接的UIWebView并按下

中的链接
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

答案 1 :(得分:1)

您可以将敲击手势识别器添加到UILabel:

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

但根据您的要求,我可能会建议您改用UIButton。我们习惯于点击网络中的链接,但在原生应用中,通常更易于使用,以使可点击区域有点大(Apple推荐至少44px)。

答案 2 :(得分: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;
}

制作sur,你的网址有“http://”

答案 3 :(得分:0)

Fancy UILabels可能是您的解决方案。