我正在尝试创建一个新闻Feed,例如:“用户(可点击)在中央公园周围跑步3分钟(可点击)”。可点击链接应该只调用一个函数,我可以在其中推送一个新的ViewController。
UILabel不支持可点击链接,我想知道如何实现它。 FancyLabel看起来很旧(2008),TTTLabel似乎只处理外部链接,电话和地址。
答案 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可能是您的解决方案。