2015-10-14 109 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