showTextView.delegate = selflet str = showTextView.text ?? ""let title = "本《隐私政策》将向你说明:\n"let checkTotal = "你可以查看完整版"let redText = "隐私政策"let paragraphCenterStyle = NSMutableParagraphStyle()paragraphCenterStyle.alignment = .centerlet defaultAttr: [NSAttributedString.Key: Any] = [.foregroundColor: UIColor.hex("555555"),.font: UIFont.systemFont(ofSize: 14)]let mediumFontAttr: [NSAttributedString.Key: Any] = [.foregroundColor: UIColor.hex("555555") ,.font: UIFont.systemFont(ofSize: 14, weight: .medium)]let centerMediumFontAttr: [NSAttributedString.Key: Any] = [.foregroundColor: UIColor.hex("555555") ,.font: UIFont.systemFont(ofSize: 14, weight: .medium),.paragraphStyle: paragraphCenterStyle]let redAttr: [NSAttributedString.Key: Any] = [.font: UIFont.systemFont(ofSize: 14, weight: .medium),.link: NSURL(string: "protocol://") ?? NSURL(),.foregroundColor: UIColor.red,.paragraphStyle: paragraphCenterStyle]let titleText = title.toAttr(mediumFontAttr)let content = str.toAttr(defaultAttr)let check = checkTotal.toAttr(centerMediumFontAttr)let red = redText.toAttr(redAttr)let show = titleText + content + "\n" + check + redshowTextView.linkTextAttributes = [:]showTextView.attributedText = show

要想使用自定义的链接颜色,需要在设置attributedText属性之前,把linkTextAttributes置为空。

showTextView.linkTextAttributes = [:]
showTextView.attributedText = show

实现协议:

extension PrivacyViewController: UITextViewDelegate {func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {// 跳到隐私协议if URL.scheme == "protocol" {guardlet host = AppConfig.config?.htmlHosts?.randomElement(),let url = NSURL(string: host + "/mobile/agreement.html") as URL? else {return false}dismiss(animated: true){}let vc = AppWebViewController()vc.url = urlAppDelegate.shared.navigation.push(vc)}return false}
}

参考效果:

222.png

swift4 attributedText简单使用以及改变链接字体颜色相关推荐

  1. 点击a标签改变链接字体颜色,点击其他标签,返回默认字体颜色

    点击a标签改变颜色 <style> .current {    //设置颜色 color: #b34927; } a:FOCUS{   //设置鼠标移动后焦距 color: #b34927 ...

  2. linux下 C编程改变输出字体颜色

    linux下 C编程改变输出字体颜色 分类: Linux基础编程 Linux操作系统 2012-09-19 10:53 1409人阅读 评论(0) 收藏 举报 linux编程c 格式: echo &q ...

  3. Android动态改变TextView字体颜色

    Android动态改变TextView字体颜色 分类: Android 2012-06-04 21:56 141人阅读 评论(0) 收藏 举报 androidcolorslayout 必须在在res/ ...

  4. php链接字体颜色,通过html/css设置超链接字体颜色

    超链接字体颜色设置是通过css来设置,a链接的颜色设置常用的有以下两种,1.超链接a的初始状态颜色,2.超链接字体的鼠标滑过颜色,还有两种病不常用:3.超链接字体的已访问颜色 超链接字体颜色设置是通过 ...

  5. python tkinter text改变文本字体颜色_Python3 tkinter基础 Button text,fg 按钮上显示的文字 文字的颜色...

    ? python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 conda : 4.5.11 type setting : Markdo ...

  6. C语言实现改变控制台字体颜色

    控制台大多数默认是黑底白字的,有时看起来总会有点枯燥,这时候可以改变字体颜色来缓解 在设置颜色时,每个数值都代表着对应的颜色,改变颜色依靠改变参数的数值,对照表如下: 0 = 黑色 8 = 灰色 1 ...

  7. html链接字体颜色代码,超链接是什么:字体颜色、样式、代码怎么做?

    超链接是SEO工作中每天都必须要做的事,它往往以锚文本的形式存在,当然URL形式的超链接,也是经常被SEO外链推广员使用,下面,将通过如下几个方面,详细介绍什么是超链接. 超链接是什么:常规意义上的理 ...

  8. Linux改变输出字体颜色,linux下 C编程改变输出字体颜色

    格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo "\033[41;36m something here \033[0m&qu ...

  9. VS2010 MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法...

    在MFC的Dialog工程中生成一个CStatic的自定义类,类名例如为:CColorStatic 定义必要的变量: protected:COLORREF m_crText; // 字体颜色COLOR ...

最新文章

  1. python输出日期的模版_python按日期区间生成markdown日记模板
  2. android分析windowManager、window、viewGroup之间关系
  3. python标准类型内建模块_Python内建模块struct实例详解
  4. python 执行完成后,cmd窗口自动关闭
  5. ceph Dispatcher模块分析
  6. Linux——通配符
  7. 电脑怎么结束进程_结束员工电脑进程/活动窗口的软件
  8. 什么是 DNS 劫持、投毒、解析?看这文就懂了!
  9. 阿里云轻量应用服务器解读,为中小企业提供数字化的解决之道
  10. 华为3500光端机基本介绍_华为OSN3500光端机License授权管理介绍
  11. excel中如何批量将所有的网址设为超链接
  12. 解决 fatal: unable to access xxx: Encountered end of
  13. 百度UEditor图片上传、SpringMVC、Freemarker、Tomcat、Nginx、静态资源
  14. oracle sql练习_最方便的在线SQL学习环境——Oracle Live SQL
  15. 手机--修改dns服务器地址,DNS怎么修改 电脑和手机设置DNS全攻略
  16. javaScript键值码
  17. Excel表格怎么快速计算出算式结果
  18. 深入理解时区概念:GMT,UTC,UTS和AOE
  19. 有 50 家人家,每家一条狗。有一天警察通知, 50 条狗当中有病狗,行为和正常狗不一样。每人只能通过观察别 人家的狗来判断自己家的狗是否生病,而不能看自己家的狗,如果判断出自己家的狗病了,就必须当天
  20. 分布式数据库:如何正确选择分片键?

热门文章

  1. 不服来战!多伦多大学教授500美元挑战整个机器学习圈子
  2. 重磅 | 李飞飞最新演讲:ImageNet后,我专注于这五件事——视觉理解、场景图,段落整合、视频分割及CLEVR数据集
  3. 今天的面试官是个锤子,Spring为什么建议使用构造器来注入?
  4. 推荐一款日志切割神器
  5. 虽然这些代码很少,就几行,但却很牛逼!
  6. 拒绝接口裸奔!开放API接口签名验证!
  7. 比Navicat还要好用的通用数据库管理工具,功能强大还免费
  8. 面试官:我把数据库部署在Docker容器内,你觉得如何?
  9. 5分钟实现SpringBoot整合Dubbo构建分布式服务
  10. 北大30岁女博导获2019 IEEE青年成就奖,全球仅三人,深耕微纳电子、神经形态计算...