UILabel 中单个单词的动态 URL:Objective-C
Dynamic URLs for individual words in UILabel: Objective-C
我正在尝试创建一种方法,允许我根据在 UILabel 中单击的单词打开 url。
目前,我可以更改以主题标签(“#”)开头的单词的颜色。
// Change words that start with # to blue
NSString *aString = [NSString stringWithFormat:@"%@", photoClass.description];
NSMutableAttributedString *attribString = [[NSMutableAttributedString alloc] initWithString:aString];
NSArray *words = [aString componentsSeparatedByString:@" "];
for (NSString *word in words){
if ([word hasPrefix:@"#"]) {
NSRange range = [aString rangeOfString:word];
[attribString addAttribute:NSForegroundColorAttributeName value:[AnimatedMethods colorFromHexString:@"#47A8F2"] range:range];
}
}
有没有办法让每个更改的词在用户点击该词时打开 url?
例如,如果我有字符串 The #quick brown fox #jumped over the lazy dog
,如果选择 #quick
,我想打开 url A
,如果选择 #jumped
,我想打开 url B
已选中。
提前感谢您的帮助!
您可以使用 NSLinkAttributeName
。添加属性的方式与添加颜色的方式相同。该值应该是 NSURL
.
即
NSURL *url = [NSURL urlWithString:@"your.url.com"];
[attribString addAttribute:NSLinkAttributeName value:url range:range];
根据我的说法,您可以将此第三方库用于您的目的
KILabel
iOS 7 及更高版本的 UILabel 的简单易用替代品,突出显示 URL、twitter 样式用户名和主题标签等链接,并使它们可触摸。
KILabel 在 MIT 许可证下可用。所以请放心使用
希望对你有所帮助...
我正在尝试创建一种方法,允许我根据在 UILabel 中单击的单词打开 url。
目前,我可以更改以主题标签(“#”)开头的单词的颜色。
// Change words that start with # to blue
NSString *aString = [NSString stringWithFormat:@"%@", photoClass.description];
NSMutableAttributedString *attribString = [[NSMutableAttributedString alloc] initWithString:aString];
NSArray *words = [aString componentsSeparatedByString:@" "];
for (NSString *word in words){
if ([word hasPrefix:@"#"]) {
NSRange range = [aString rangeOfString:word];
[attribString addAttribute:NSForegroundColorAttributeName value:[AnimatedMethods colorFromHexString:@"#47A8F2"] range:range];
}
}
有没有办法让每个更改的词在用户点击该词时打开 url?
例如,如果我有字符串 The #quick brown fox #jumped over the lazy dog
,如果选择 #quick
,我想打开 url A
,如果选择 #jumped
,我想打开 url B
已选中。
提前感谢您的帮助!
您可以使用 NSLinkAttributeName
。添加属性的方式与添加颜色的方式相同。该值应该是 NSURL
.
即
NSURL *url = [NSURL urlWithString:@"your.url.com"];
[attribString addAttribute:NSLinkAttributeName value:url range:range];
根据我的说法,您可以将此第三方库用于您的目的
KILabel iOS 7 及更高版本的 UILabel 的简单易用替代品,突出显示 URL、twitter 样式用户名和主题标签等链接,并使它们可触摸。
KILabel 在 MIT 许可证下可用。所以请放心使用
希望对你有所帮助...