0

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

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

4

4 回答 4

2

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

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
于 2012-05-08T01:48:03.933 回答
1

因此,您可以向 UILabel 添加轻击手势识别器:

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

但根据您的要求,我可能会建议您改用 UIButton。我们习惯于点击网络中的链接,但在原生应用程序中,将可点击区域设置得稍大(Apple 建议至少 44 像素)通常对用户更友好。

于 2012-05-07T16:40:51.207 回答
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://”

于 2013-01-30T15:01:25.847 回答
0

花哨的 UILabel可能是您的解决方案。

于 2012-05-07T22:02:35.900 回答