2015-10-14 70 views
1

我有一个简单的NSString,例如:添加超链接的NSString的iOS

的NSString *文本= @ “#2是太神奇了!”

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

+1

请参阅:http://stackoverflow.com/questions/21629784/make-a-clickable-link-in-an-nsattributedstring-for-a-uitextfield-or-uilabel和这里:http:// stackoverflow。 COM /问题/ 8839464 /的UILabel字符串,如文本和链接 –

回答

5

一个字符串只包含字母 - 没有格式化如此。

为了使部分插入一个链接,你要归因文字和分配的第一个字用的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]; 

显示它在一个TextView,一个UILabel不支持点击AFAIK