更改uitextview超链接颜色

Muz*_*san 27 uitextview ios

我正在使用UITextView,我想更改我在此组件中使用的超链接的颜色.例如,如果UITextView显示www.gmail.com,则显示为蓝色.我想改变那种颜色.

Tim*_*own 118

好哇!Apple已经发布了适用于iOS7的解决方案!如本答案中所述,您可以使用a的linkTextAttributes属性UITextView.带下划线的白色链接看起来像这样:

yourTextView.linkTextAttributes = @{
    NSForegroundColorAttributeName: [UIColor whiteColor], 
    NSUnderlineStyleAttributeName: [NSNumber numberWithInt:NSUnderlineStyleSingle]
};
Run Code Online (Sandbox Code Playgroud)

或者您也可以更改tintColor,因为UITextView继承UIView并使用tintColor属性来着色链接 - 请参阅:

yourTextView.tintColor = [UIColor whiteColor];
Run Code Online (Sandbox Code Playgroud)

现在您的链接看起来很史诗!

  • Swift 2.2版本yourTextView.linkTextAttributes = [NSForegroundColorAttributeName:UIColor.redColor(),NSUnderlineStyleAttributeName:NSUnderlineStyle.StyleSingle.rawValue] (5认同)
  • swift 4,超链接颜色加下划线:chatTxt.linkTextAttributes = [NSAttributedStringKey.underlineStyle.rawValue:NSUnderlineStyle.styleSingle.rawValue,NSAttributedStringKey.underlineColor.rawValue:UIColor.white,NSAttributedStringKey.foregroundColor.rawValue:UIColor.white] (3认同)
  • 谢谢。这是上面代码的Swift 4.2版本:yourTextView.linkTextAttributes = [NSAttributedString.Key.underlineStyle:NSUnderlineStyle.single,NSAttributedString.Key.underlineColor:UIColor.white,NSAttributedString.Key.foregroundColor:UIColor.white] (2认同)

Hac*_*ack -8

简单的答案是你做不到。

不过,这里有一个解决方法:

我可以更改 UITextView 上自动检测到的链接的颜色吗?