使NSMutableAttributedString的一部分可单击

时间:2015-04-16 21:40:13

标签: ios objective-c uigesturerecognizer nsattributedstring core-text

我有一个多行UILabel,其中包含来自NSMutableAttributedString的文字。我想让部分文字可以点击。

如果我可以确定文本部分周围的CGRect,我可以使用点击位置来确定它是否属于CGRect,但我还没有找到办法做到这一点

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您是否尝试过以下示例:

NSMutableAttributedString * str = [[NSMutableAttributedString alloc] initWithString:@"Click me"];
[str addAttribute: NSLinkAttributeName value: @"http://www.yahoo.com" range: NSMakeRange(0, str.length)];
yourTextView.attributedText = str;

答案 1 :(得分:0)

如果您还没有找到某些内容,您还可以尝试 ActiveLabel.swift ,这是UILabel替代支持Hashtags(#> ),提及(@)和URL(http://)用Swift编写。

这是一个简单的例子:

import ActiveLabel

let label = ActiveLabel()

label.text = "This is a post with a link http://github.com."
label.handleURLTap { (url: NSURL) in
     // do something with the url
}

免责声明:我是图书馆的作者。