OHAttributedLabel 内のいくつかの単語をリンクにしたいのですが、それらを青以外の色にしたいので、下線を付けたくありません。
これにより、下線付きのテキストが付いた青いリンクが表示されます。
-(void)createLinkFromWord:(NSString*)word withColor:(UIColor*)color atRange:(NSRange)range{
NSMutableAttributedString* mutableAttributedText = [self.label.attributedText mutableCopy];
[mutableAttributedText beginEditing];
[mutableAttributedText addAttribute:kOHLinkAttributeName
value:[NSURL URLWithString:@"http://www.somewhere.net"]
range:range];
[mutableAttributedText addAttribute:(id)kCTForegroundColorAttributeName
value:color
range:range];
[mutableAttributedText addAttribute:(id)kCTUnderlineStyleAttributeName
value:[NSNumber numberWithInt:kCTUnderlineStyleNone]
range:range];
[mutableAttributedText endEditing];
self.label.attributedText = mutableAttributedText;
}
私はOHAttributedLabelを使用しているので、NSAttributedString+Attributes.h
そのカテゴリのメソッドも使用しようとしましたが、それらは青い下線付きのリンクも返します:
-(void)createLinkFromWord:(NSString*)word withColor:(UIColor*)color atRange:(NSRange)range{
NSMutableAttributedString* mutableAttributedText = [self.label.attributedText mutableCopy];
[mutableAttributedText setLink:[NSURL URLWithString:@"http://www.somewhere.net"] range:range];
[mutableAttributedText setTextColor:color range:range];
[mutableAttributedText setTextUnderlineStyle:kCTUnderlineStyleNone range:range];
self.label.attributedText = mutableAttributedText;
}
各バージョンのリンクを設定する行をコメントアウトすると、テキストは渡されたものに色付けされます-それは機能します。リンクを設定すると、これが上書きされて青に戻るようです。
残念ながら、私が見つけたアップルのドキュメントページには、リンクテキストを青に設定して下線を引く方法が示されてい ます.タスク/ChangingAttrStrings.html