在 swift 3 的 textview 中显示属性文本?

2024-06-19

我想以斜体、粗体显示从服务器收到的文本。

你好世界

所以,
responseObj!["text"] = "<p><b><i>hello</i></b><i>world</></p>"
     if let postText:String = responseObj!["text"] as? String{
          let str = try NSAttributedString(data: postText.data(using: String.Encoding.unicode, allowLossyConversion: true)!, options: [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil)
      self.textView.attributedText = str
    }

当我这样添加时,意味着我的文本显示正常,无需应用粗体和斜体。我希望文本以粗体、斜体显示。


编辑:更新了 Swift 4

创建一个extension for String:

extension String {
    func htmlAttributedString(fontSize: CGFloat = 17.0) -> NSAttributedString? {
        let fontName = UIFont.systemFont(ofSize: fontSize).fontName
        let string = self.appending(String(format: "<style>body{font-family: '%@'; font-size:%fpx;}</style>", fontName, fontSize))
        guard let data = string.data(using: String.Encoding.utf16, allowLossyConversion: false) else { return nil }

        guard let html = try? NSMutableAttributedString (
             data: data,
             options: [NSAttributedString.DocumentReadingOptionKey.documentType: NSAttributedString.DocumentType.html],
             documentAttributes: nil) else { return nil }
        return html
    }
}

在项目中的任何位置调用它:

text.htmlAttributedString() // will set fontSize with 17.0 which is the default value


text.htmlAttributedString(fontSize: 14.0) // pass your required fontSize

注意let string = self.appending(String(format: "<style>body{font-family: '%@'; font-size:%fpx;}</style>", fontName, fontSize))用于保持字符串字体与默认iOS平台使用的字体相同。

将字符串设置为UITextView use:

textView.attributedText = textToBeConverted.htmlAttributedString() ?? ""

RESULT:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 swift 3 的 textview 中显示属性文本? 的相关文章

  • iphone / css - 单击时如何防止项目上出现黑色半透明覆盖

    我正在编写一个移动网站 在 iPhone 中 当您触摸 按住可点击项目时 图像顶部会出现明显的半透明黑色覆盖层 有人经历过这个吗 我该如何摆脱它 有没有办法用css 这是我的代码 childLink div class option div
  • Google Maps API - 按关键字(城市名称)定位/中心

    在我的网络应用程序中 我使用 gmap javascript API https developers google com maps documentation javascript https developers google com
  • 确定进度条上的点击位置?

    是否可以使用纯 JavaScript 确定用户点击进度条的值 位置 目前 我可以检测到元素上的点击 但只能获取栏的当前位置 与用户的点击无关 http jsfiddle net bobbyrne01 r9pm5Lzw http jsfidd
  • HTML5 Canvas 元素可以从 Canvas 构造函数创建吗

    我希望能够从构造函数中创建 Canvas 元素 以便我可以创建这样的函数 function createCanvasContext height width var body document getElementsById body 0
  • 如何使用 Twitter Bootstrap 创建类似 Gmail 的布局

    是否可以使用 Twitter Bootstrap 创建类似 GMail GoogleGroups 的布局 以便布局始终适合视口 窗口高度 并且侧边栏和内容区域适合 单独滚动 Fixed top navbar
  • 可以使用 Java 库将轻量级文本标记语言转换为 HTML 和 LaTeX? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 一种简单的轻量级标记语言 例如被定义为西奥尔1 0 http wikicreole org wiki Home对于在程序和应用程序文档中使
  • 在html5中播放字节数组中的音乐

    有什么方法可以从 HTML 5 中的字节而不是文件播放音乐吗 我需要流式传输音乐字节并现场播放 请检查这个 var dogBarkingBuffer null Fix up prefixing window AudioContext win
  • 滚动/缩放 pixi.js 画布

    下面是在 pixi js 使用 WebGL 画布上放置一些文本的简单方法 我们如何滚动 缩放画布的显示部分 即鼠标按下 拖动应该移动 我想实现的示例 http s419743653 onlinehome fr things test2 ht
  • CSS 主体宽度未填充 100%

    我正在开发一个网页 我注意到这个问题 Please post anything you get in mind it will be very helpful 检查网站here http dev mariachi com br europe
  • 单击 div 时更改复选框状态(真/假)

    我有一个带有图像 标签和输入复选框的 div 当我点击 div 时 我喜欢什么 它会将复选框状态从 true 更改为 false 并且反之亦然 jQuery markerDiv click function if this find inp
  • 当内容悬停时变为粗体时防止表格扩展

    我正在处理一张表格 其中一个要求是每一行在悬停时变为粗体 我可以正常工作 但是当发生这种情况时 列的宽度会发生变化 有什么办法可以防止这种情况发生吗 table width 100 border 1px solid ccc margin t
  • 变量可以存储在图像或 div 标签中吗?

    我已经成功地创建了一个巨大的div其中包含许多小divs 附加到它上面 所以它创建了一个网格 我的目标是能够在每个较小的变量中存储两个变量divs 瓷砖 目前 我可以通过更改较小的图块来存储一个值innerHTML 但是 我希望能够存储的不
  • 停止重复 UIImage 背景图案图像 - Swift

    我在 UITableView 中使用滑动来删除 在滑动中我需要添加图像 当我添加图像时 它会重复 如何停止重复 func tableView tableView UITableView editActionsForRowAt indexPa
  • 制作一个透明的圆形按钮,带有不透明边框和文本/字体很棒的图标

    基本上我想要一个性感的 反应灵敏的圆形按钮 它是透明的 这样你就可以通过它看到背景 但有一个不透明的轮廓 这样你就可以看到按钮和不透明的文本 或者也许我会在稍后阶段添加一个字体很棒的图标 这是我的 JS 小提琴 这样你就可以看到我正在尝试做
  • 使用 Javascript 基于 Cookie 的重定向

    我正在尝试根据 cookie 的存在创建重定向 所以当用户连接到我的网站时jonathanstevens org他们第一次被重定向到jonathanstevens org landing 代码部分 Global js function cr
  • 具有 dropdown-menu-right 类的下拉菜单未向右对齐

    我有以下导航栏结构 current user username 来自我的模板系统 ul class navbar nav mr auto mt 2 mt lg 0 ul div class dropdown show a class dro
  • 使用 CSS 显示 div 内容后淡出

    我正在尝试在单击按钮时显示通知 单击按钮实际上会检查电子邮件验证 我知道要显示一个包含错误消息内容的 div 但是 我想淡出错误消息 比如说 5 秒后 我想用CSS来实现它 以下是我的尝试 它只是隐藏了一切 signup response
  • -webkit-overflow-scrolling:触摸;无效的属性值

    我不明白为什么这不起作用 我把它放在我的 html 和正文中 它仍然显示无效的属性值并被划掉 我首先尝试在媒体查询中使用它 但它在那里不起作用 有谁知道它对我不起作用的潜在原因 谢谢你 html body width 100 height
  • Bootstrap轮播不滑动

    我一直在尝试使用 Bootstrap Carousel 并在一定程度上取得了成功 我也可以单击并更改图像 但我有一个问题 只是不滑动而已 我哪里做错了 html div class carousel slide ol class carou
  • html 中的图像按钮

    我正在尝试获取一个带有图像的按钮 我见过类似下面的东西 但它们不会为您提供普通按钮所具有的按钮按下 释放效果

随机推荐

  • 使用编译时编织进行依赖注入? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我只是想了解 PostSharp 老实说我认为它太棒了 但有一件事对我来说很难如何纯依赖注入 不是服务定位器 无法完成 https cod
  • 如何将 Datagridview 中的格式列更改为该值的日期类型

    例如 我有这样的值 41607 2069444444 41607 2068402778 41607 2072222222 这是来自 CDR 的 dateTimeOrigination 计算 在 Excel 中 我将格式单元格更改为日期类型
  • 将所有文件与指定目录(和子目录)中的所有文件进行二进制比较

    我需要将目录及其子目录中包含的所有文件与同一目录及其子目录中包含的所有其他文件进行比较 并将匹配文件的路径记录到文本文件或 CSV 我意识到有一些软件工具可以做到这一点 但除非它可以在 Windows 中开箱即用 否则我将不被允许在我的网络
  • Visual Studio 2019 F# NU1101 无法找到包 FSharp.core

    我刚刚开始使用 Microsoft Visual Studio 和 F 我已尽可能地遵循他们的教程 但是当我尝试运行代码时 他们告诉我收到错误 NU1101 Unable to find package FSharp Core No pac
  • PHP MYSQL文件内容转义问题

    我正在尝试使用 php 将 pdf 文件上传到 mysql 数据库中 除了文件内容之外 一切都很好 无论我如何尝试转义特殊字符 查询总是失败 主要是 未知命令 n 我使用过addslashes mysql real escape strin
  • 如何使用 PetaPoco 库自动从数据库创建模型?

    我的数据库中有一个表 我想为其创建一个带有 getter 和 setter 的模型类 对于我项目中的大部分任务 我使用 PetaPoco 我手动创建了模型 但很少有表有很多列 有没有办法使用 PetaPoco 从数据库创建模型 我强烈建议您
  • 为什么包含此模块不会覆盖动态生成的方法?

    我试图通过包含一个模块来覆盖动态生成的方法 在下面的示例中 Ripple 关联添加了rows 方法表 我想调用该方法 但之后还要做一些额外的事情 我创建了一个模块来重写该方法 认为该模块的row 可以打电话super使用现有的方法 clas
  • iOS 中的内存泄漏,AVPlayer 永远不会被释放

    我使用了 AVPlayerDemo 示例苹果文档 https developer apple com library ios samplecode AVPlayerDemo Introduction Intro html并在其上编写了我自己
  • 在 Mono 上运行 .Net MVC5 应用程序

    我正在 Windows 上的 Visual Studio 2013 中开发 Net 4 5 1 MVC5 应用程序 现在我想知道 是否可以在Linux Ubuntu 12 04 上运行这个应用程序 可以使用OWIN吗 Owin 可以自托管运
  • 通过 Java 连接 Apache Drill

    在 Apache Drill 的 Wiki 中 我只能看到通过 SqlLine 客户端运行的查询 除了 REST API 之外 是否有任何编程方式可以在 Drill 中运行查询 有任何示例或指示吗 或者它与使用 JDBC 驱动程序运行 SQ
  • 如果遵循 REST 架构,如何访问 codeigniter 中的 URL 参数?

    以下是可用于访问资源的基于 REST 的有效 URL 使用codeigniter 如何访问下面传递的参数1 我在教程中看到了上述内容并设置了我的代码 然而显然 id this gt input gt get id 不起作用 Using th
  • 没有这样的命名空间:clojurescript 项目设置中的 clojure.spec.alpha

    我在尝试学习clojure spec 在沿着启动构建工具设置 clojure 项目时 我在需要 clojure spec alpha 时遇到以下错误 Compiling ClojureScript js app js No such nam
  • 在java中执行外部程序并传递命令

    我有这个国际象棋引擎 Rybka exe 我必须在 java 中执行 以下是如何运行 Rybka 的示例 单击它后 控制台将打开并等待输入 然后你输入 uci 并按 Enter 键并等待它加载 大约 1 秒 然后你必须输入更多行作为选项和内
  • 检测 Java JAR/代码篡改

    我正在编写一个以 JAR 文件形式分发的软件 目前 该 JAR 文件可以被篡改以检索并保存我们的服务器通过以下方式传输的另一个文件URLClassLoader 进行反编译 并在我们的代码中找到应保持私有的各种内容 以确保使用它的客户端的安全
  • Django 检索 GET 列表

    我是 Django 新手 我有一个 URL 列表 例如 example com item test item for test url 我知道如何在视图中检索该值 a request GET getlist item 我的问题是 如何在模板
  • 使用 Flutter 3.10 / Dart 3.0 进行 VS Code 调试<优化>

    在最新的 颤振 升级 之后 我在 VS Code 调试期间查看某些变量时遇到问题 如何在悬停时查看变量的内容而不是获取此内容 Screenshot of hovering variable 这仅发生在某些变量上 其他变量我可以正常查看内容
  • tkinter:无法使框架可滚动

    在 python tkinter 上 我在顶级窗口上使用 2 个不同的框架 一个在右侧 另一个在左侧 右侧的框架不可滚动 我在该框架的框架顶部创建了一个画布 并在该画布顶部创建了另一个框架 我已使该画布可滚动并将小部件粘贴到该画布上 但它不
  • 在iPhone上将CSV文件读入sqlite3

    有没有办法在iPhone上将CSV文件读入sqlite3 sqlite3 是否有类似于 SQL 命令的功能 LOAD DATA LOCAL INFILE file csv INTO TABLE TABLENAME FIELDS TERMIN
  • 将列表数据放入地图时出现异常

    我正在迭代一个列表并将其内容放在地图上 但问题是 当我返回该地图时 我遇到了异常 您能否告知其背后的原因是什么 我收到了 java lang IndexOutOfBoundsException 索引 100 大小 100 因为我的列表大小是
  • 在 swift 3 的 textview 中显示属性文本?

    我想以斜体 粗体显示从服务器收到的文本 你好世界所以 responseObj text p b i hello i b i world gt i p if let postText String responseObj text as St