Ios 对于UITextView/UILabel中的显示链接、热门词汇,哪种解决方案是最好的?

Ios 对于UITextView/UILabel中的显示链接、热门词汇,哪种解决方案是最好的?,ios,objective-c,uilabel,Ios,Objective C,Uilabel,我想让UILabel/UITextView中的一些单词成为链接,以便人们可以单击它,如电话号码、web链接、用户名。。。等等 我曾尝试使用UIWebView,但它加载文本的速度太慢,不如简单的UILabel/UIXtView快,所以我决定不使用UIWebView 我搜索了许多自定义UILabel来实现这一点,并找到了GLTAPBLabel,我认为这是最简单的方法。但是GLTapLabel只支持两种类型的链接,它检测以和开头的单词,我想创建更多类型的链接,如电话号码、网络链接等等。还有一个问题是,

我想让UILabel/UITextView中的一些单词成为链接,以便人们可以单击它,如电话号码、web链接、用户名。。。等等

我曾尝试使用UIWebView,但它加载文本的速度太慢,不如简单的UILabel/UIXtView快,所以我决定不使用UIWebView

我搜索了许多自定义UILabel来实现这一点,并找到了GLTAPBLabel,我认为这是最简单的方法。但是GLTapLabel只支持两种类型的链接,它检测以和开头的单词,我想创建更多类型的链接,如电话号码、网络链接等等。还有一个问题是,如果我在UITableView中单击一个GLTapLabel的链接,它将触发tableView:DidSelectRowatineXpath:我也在这里询问过,但还没有解决


所以你们能给我一些建议吗?

你们需要启用UITextView的dataDetectorTypes。这将允许您拥有URL和其他类型数据的链接

您需要启用UITextView的dataDetectorTypes。这将允许您拥有URL和其他类型数据的链接

对于任意链接,最好使用UILabel的子类,它在iOS 5上显示属性字符串。如果您使用的是iOS 6+,UILabel直接支持属性化字符串

TTTAttributedLabel *someLabel;
[someLabel addLinkToURL:[NSURL URLWithString:someURLString] 
              withRange:[longerTextString rangeOfString:linkTextString]];


#pragma mark - TTTAttributedLabel Delegate

- (void)attributedLabel:(TTTAttributedLabel *)label didSelectLinkWithURL:(NSURL *)url {
    // handle the URL somehow
    [[UIApplication sharedApplication] openURL:url];
}

对于任意链接,最好使用UILabel的子类,它在iOS 5上显示属性字符串。如果您使用的是iOS 6+,UILabel直接支持属性化字符串

TTTAttributedLabel *someLabel;
[someLabel addLinkToURL:[NSURL URLWithString:someURLString] 
              withRange:[longerTextString rangeOfString:linkTextString]];


#pragma mark - TTTAttributedLabel Delegate

- (void)attributedLabel:(TTTAttributedLabel *)label didSelectLinkWithURL:(NSURL *)url {
    // handle the URL somehow
    [[UIApplication sharedApplication] openURL:url];
}

非常感谢。所以我会有用户名,地址,网页链接。。。和一些自定义类型作为链接。将只识别某些内置链接类型电话号码、地址、URL等,但不会让您选择任意单词来制作链接。jszumski的说法是正确的。我想知道你是否可以用UITextView自定义NSDataDetector类型,但找不到任何相关信息。谢谢。所以我会有用户名,地址,网页链接。。。和一些自定义类型作为链接。将只识别某些内置链接类型电话号码、地址、URL等,但不会让您选择任意单词来制作链接。jszumski的说法是正确的。我想知道你是否可以用UITextView自定义NSDataDetector类型,但找不到任何相关信息。谢谢。TttributeLabel是否帮助我创建任何类型的链接?事实上,我不知道这些链接是否可以像按钮一样点击它,我的应用程序将移动到另一个屏幕。。。。100%肯定我会尝试,如果我有新问题,会尽快通知你。谢谢。TttributeLabel是否帮助我创建任何类型的链接?事实上,我不知道这些链接是否可以像按钮一样点击它,我的应用程序将移动到另一个屏幕。。。。100%肯定我会尝试,如果我有新问题,会尽快通知你。