添加到NSString iOS的超链接

时间:2015-10-14 09:05:33

标签: objective-c hyperlink nsstring

我有一个简单的NSString,例如:

NSString * text = @" Stackoverflow令人惊叹!"

我希望将Stackoverflow这个词变成指向https://stackoverflow.com/的超链接,并且仍然可以将字符串作为变量输出。这可能吗?

1 个答案:

答案 0 :(得分:7)

一个字符串只包含字母 - 没有格式化的东西。

要将一个部分组成一个链接,你必须使用属性文本并使用url为NSLink属性分配第一个单词:

NSURL *url = [NSURL URLWithString:@"http://www.google.de"];

NSAttributedString *my = [NSAttributedString attributedStringWithString:@"my"
                                                             attributes:@{NSForegroundColorAttributeName:[UIColor blackColor], NSFontAttributeName:[UIFont systemFontWithSize:16]}];
NSAttributedString *link = [NSAttributedString attributedStringWithString:@"Link"
                                                               attributes:@{NSForegroundColorAttributeName:[UIColor blue], NSFontAttributeName:[UIFont systemFontWithSize:16], NSLinkAttributeName:url}];
NSMutableAttributedString *attr = [my mutableCopy];
[attr appendAttributedString:link];

在文本视图中显示,UILabel不支持单击AFAIK