切换 UITextView 中的 selectedRange 属性

2023-12-24

我创建了一个按钮,我想检查是否选择了文本,然后在点击时在 selectedRange 上切换粗体和非粗体。目前,我的代码只会将 selectedRange 更改为粗体,我无法撤消它或检查是否有选择。我怎样才能实现这个目标?

func bold() {
    if let textRange = selectedRange {
        let attributes = [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.bold)]
        noteContents.textStorage.addAttributes(attributes as [NSAttributedString.Key : Any], range: textRange)
    }

这可能会起作用:

func toggleBold() {
    if let textRange = selectedRange {

        let attributedString = NSAttributedString(attributedString: noteContents.attributedText)

        //Enumerate all the fonts in the selectedRange
        attributedString.enumerateAttribute(.font, in: textRange, options: []) { (font, range, pointee) in
            let newFont: UIFont
            if let font = font as? UIFont {
                if font.fontDescriptor.symbolicTraits.contains(.traitBold) { //Was bold => Regular
                    newFont = UIFont.systemFont(ofSize: font.pointSize, weight: .regular)
                } else { //Wasn't bold => Bold
                    newFont = UIFont.systemFont(ofSize: font.pointSize, weight: .bold)
                }
            } else { //No font was found => Bold
                newFont = UIFont.systemFont(ofSize: 17, weight: .bold) //Default bold
            }
            noteContents.textStorage.addAttributes([.font : newFont], range: textRange)
        }
    }
}

We use enumerateAttribute(_:in:options:using:)查找字体(因为粗体/非粗体)位于该属性中。 我们根据您的需要更改它(粗体非粗体)。

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

切换 UITextView 中的 selectedRange 属性 的相关文章

  • Swift:如何在 println 之后刷新标准输出?

    如何在 Swift 中刷新标准输出println命令 也就是说 Swift 相当于什么fflush stdout in C 您可以使用 fflush stdout 导入 libc 后 if os Linux import Glibc els
  • Swift 数组设置索引值不起作用

    我有一个方法 下面的内容 其中queue2只是一个 Int 我打印了很多东西 看看一切是否都正常 public func cool item Int println item println back queue2 insert item
  • 新的 FUITableViewDataSource - 如何使用?雨燕3

    刚刚更新到较新的 FirebaseUI Pod 有些事情发生了变化 但其中最大的变化之一是 FUI 表视图的工作方式 我让它在旧版本上运行良好 但在下面遇到了困难 并且缺乏文档 示例 self dataSource FUITableView
  • iOS 内存警告

    我正在尝试使用从 Parse 数据库下载的图像填充集合视图 但我收到内存警告 然后偶尔崩溃 有谁知道其他应用程序如何设法呈现这么多图像而不崩溃 有人可以告诉我如何优化我已有的东西吗 这是所有相关代码 https gist github co
  • swift 中的负数模

    负数模如何在 swift 中工作 当我执行 1 3 时 它给出 1 但余数是 2 其中有什么问题 雨燕余数运算符 计算余数 整数除法 a b a a b b where 是截断整数除法 在你的情况下 1 3 1 1 3 3 1 0 3 1
  • 如何在 EKRecurrenceRule 中设置一周中某一天的数组?

    我想在用户选择的特定日期每周添加事件 可以是一个或多个 也可以是一整天 我将用户选择的日期值存储在模型类变量中 但是 当我添加事件并选择日期时 假设今天是星期一 我选择星期二和星期三并保存 然后我查看周一和周三添加的 iPhone 日历 我
  • Swift 中 UIImages 的淡入淡出动画

    我有一组图像 我希望它们在登录屏幕的背景中淡出 我无法在 swift 中找到任何可以做到这一点的东西 有什么办法我可以做到吗 这是我当前的代码 override func viewDidLoad super viewDidLoad star
  • 在 viewWillAppear( ) 中获取空值,但在 viewDidLoad( ) 中获取有效值

    When print mess 被称为来自viewDidLoad函数 它打印预期的内容 但是当从viewWillAppear函数 它给出空输出 完成分配后标签也没有更新viewDidLoad 为什么是这样 主视图控制器 if segue i
  • 使用原始类型+大小写参数的 Swift Enum 的解决方法?

    我想创建 SKSpriteNodesWallType 请参阅下面的代码 并且仅当WallType is Corner通过它Side其方向的价值 枚举具有原始值 因为我需要将它们作为数字从 plist 加载 并能够随机创建它们 enum Si
  • Swift:在 Core Data 中存储自定义类的数组

    我是核心数据新手 但对于我的一个新项目 我想将我的数据保存到核心数据 我想创建一个 Reptile 类 其中包含几个自定义类数组 如果没有核心数据 我会得到这样的东西 import Foundation import UIKit class
  • 在 swift 中设置状态栏的自定义颜色?

    在视图控制器上 我想将状态栏的颜色设置为黑色 但我无法更改它 我为此目的使用下面的代码 func setUpUI self navigationController setNavigationBarHidden true animated
  • RxSwift、RxCocoa 和 UITableview

    我在使用 RxSwift 实现 UITableView 时遇到问题 我尝试使用以下代码将模型数组的可观察对象绑定到表项 models bind to self tableView rx items cellIdentifier Cell c
  • 当 Firebase 函数以 Swift 结束时

    我在我的应用程序中使用 Firebase 它查询大量用户并获取所需的特定数据 但是当它开始查询时 其余功能也继续运行 而不仅仅是查询 所以我无法理解当它结束时 例如在这段代码中 ref observeEventType ChildAdded
  • 我正在寻找 GCDAsyncUdpSocket 上的一些示例,但发现没有一个有效

    接收数据从未被调用过 我编写了这个由我的主线调用的 swift 类UI视图控制器向接收消息的服务器发送消息 但当服务器发回响应时 客户端永远不会收到它 因为 didReceiveData 从未被触发 我一直在谷歌上搜索并查看文档 它说客户端
  • iOS 上的本地通知需要用户许可吗?

    我在我的应用程序中使用 UILocalNotification 来安排通知 通知工作正常 并在我需要时显示 我对此没有意见 我没有做任何远程 推送通知 让我想知道的是 我从未见过您通常在多个应用程序中看到的推送通知的著名权限对话框 我什至重
  • 如何使用 swift 将 UIColor 转换为字符串以及将字符串转换为 UIColor?

    我有一个具有 UIColor 属性的对象 class Beer NSObject var color UIColor 我将其保存到数据库中 因此我需要将此属性转换为有效的 JSON 类型 因此我正在考虑将其转换为字符串 如何转换为要存储的字
  • 如何将 Swift 字符串传递给 C 函数?

    我在将字符串从 swift 传递到用 c 编写的函数时遇到严重问题 我正在尝试在我的快速代码中执行此操作 var address 192 168 1 2 var port 8888 initSocket address port c 函数如
  • Xcode 11 beta swift ui 预览未显示

    只是使用 Swift UI 基本应用程序 即使我处于画布模式 预览画布也不会显示 应用程序运行 我有这个小片段 我错过了什么 if DEBUG struct ContentView Previews PreviewProvider stat
  • 优化构建中通用函数的 Core Data Swift 转换失败

    我们有一个具有相当广泛的核心数据模型的应用程序 其中有许多用 Objective C 实现的自定义子类 但越来越多的用 Swift 编写的应用程序也使用这些子类 值得一提的是 我们使用 Xcode 7 3 1 针对 iOS 9 3 进行构建
  • 用于测试对象类型的通用 Swift 函数

    我正在尝试编写一个函数 该函数接受一个对象和一个类型作为参数 并返回一个布尔值 指示该对象是否属于给定类型 似乎没有 Type 类型 所以我不知道如何做到这一点 我能做的最好的就是 func objectIsType

随机推荐

  • 在 odoo 10 中向状态栏添加颜色

    需要在odoo10中的状态栏添加颜色 哪些可用的openerp版本 例如
  • 一种数据结构,其中键为单词簇,值为单个单词或字符串

    我想创建一个能够将一组或一组单词映射到单个单词或字符串的数据结构 它可以被认为是 python 中字典的反向操作 您可以使用常规字典 targetword good wordmap best targetword positive targ
  • PHP MYSQL 博客存档菜单(按年和月)

    我正在寻找一种有效的方法将所有博客文章整理到以下格式的菜单中 2012 八月 6 九月 4 十月 2 Month 代表月份 显然 括号内的值代表该月的帖子数 单击后 将搜索该月 该年的所有帖子 我需要它是动态的 当该月创建帖子时自动选取 1
  • useSWR 不适用于异步获取器功能

    我正在使用 SWR 获取数据来填充表 我正在使用以下代码 const data items error useSWR fetchAllItems name fetchAllItems fetcher 函数看起来像这样 async funct
  • graphql查询SQL父子关系

    我有一个 postgres 表 它表示具有父子表的层次结构 表 类别 id name parentId 1 CatA null 2 CatB null 3 CatC 1 4 CatD 1 5 CatE 3 期望的结果 categories
  • 如何使用字典从嵌套 json 创建 pandas 数据框

    我正在尝试创建一个 pandas 数据框形式的 json 文件 我已经看到了这个问题的多种解决方案 它们使用内置函数 from dict json normalize 但我无法将其应用到我的代码中 以下是我的数据在 json 文件中的结构
  • DotNetOpenAuth:如何实现一个简单的 OpenId 提供程序?

    每个 OpenId 提供商都有一个提供商 Url 例如 Google https www google com accounts o8 id https www google com accounts o8 id Using OpenIdR
  • 如何在表单中放置两个提交按钮

    我在一种表单中有两个提交按钮 我想在两个按钮中调用不同的操作 有没有什么方法可以在不使用 JavaScript 的情况下完成此任务 如果没有 JavaScript 就不可能调用不同的操作 您可以调用相同的控制器操作 并在该操作内使用 nam
  • Apache POI XWPF:如何创建一组线?

    我是 Poi 的新手 我尝试用画线制作一组形状复合材料 在 LibreOffice 文档上我可以制作 但使用 Poi 似乎更困难 例子 里面没有关于形状的内容apache poi s XWPF除了到目前为止的图表 但是还有com micro
  • 循环遍历 Ruby on Rails 中的对象属性

    Rails 中是否可以循环对象的属性 我有一个对象 而不是对视图中的每个属性进行编码 我想在视图中输出它们中的每个属性 因为它们有很多 我有一个名为 work profile它有很多属性 主要是布尔复选框值 编辑 我知道我可以使用 work
  • 如何在专注于开发工具的同时在 Electron 应用程序中切换开发工具?

    我想让我的 Electron 应用程序切换开发人员工具以响应 F12 在渲染器页面中 我添加了 const currentWebContents require electron remote getCurrentWebContents w
  • 书店应用程序的推荐系统

    嘿 我正在尝试学习 Amazon com 等网站中使用的一些推荐算法 所以我有这个简单的 java spring hibernate postgres 书店应用程序 其中 Book 具有属性标题 类别 标签 作者 为了简单起见 书中没有任何
  • 在 R 中的 .Options$repos 中列出多个存储库有何影响或价值?

    我注意到这个答案 https stackoverflow com questions 1189759 expert r users whats in your rprofile 1349232 1349232关于 Rprofile 设置的问
  • 什么是文档类型?

    什么是 DOCTYPE 为什么要使用它 我可以使用哪些不同的 DOCTYPE 标准模式和怪癖模式之间有什么区别 使用不同设置的 DOCTYPE 可能会遇到哪些怪癖 最后 我应该使用的正确 DOCTYPE 是什么 基本上 DOCTYPE 描述
  • 此场景的 GUID/UUID?还是复合键?或其他

    我目前正在开发一个系统 在某些情况下 该系统需要白天在本地数据库上运行 然后在晚上复制到中央服务器 它cannot所有这些都从一个中央数据库运行 因为本地站点会定期与该数据库失去联系 中央服务器上的数据用于仅查看和报告在总部 因此不需要将任
  • 未定义的方法“link_to”

    我正在编写一个 ruby on rails 库模块 module Facets class Facet attr accessor name display name category group special URI controlle
  • iOS 7 中文本字段的弹出/模式选择器

    我在弄清楚如何实现标准弹出选择器时遇到了很多麻烦 就像许多应用程序的注册屏幕一样 当用户选择生日文本字段时 我希望出现一个弹出选择器 以便用户可以选择他们的生日 单击完成 格式化日期将添加到文本字段 这似乎并不那么困难 但在 iOS 7 中
  • 如何使用新的 Google Analytics 在 PHP 中获取当前访问者的引荐来源网址、付费/自然和关键字?

    我想了解访问者如何访问我的网站的信息 在 Google Analytics 的早期版本中 您可以使用他们的 cookie 参见例如使用 Google Analytics 获取当前访问者的引荐来源网址 付费 自然和关键字 https stac
  • 提交后的 mvc3 复选框值

    我有一个包含 2 个字段的表单 一个下拉列表和一个复选框 我一切正常 但由于某种原因 如果选中这是我的代码 我无法获取复选框的值 HttpPost public ActionResult view string pick switch pi
  • 切换 UITextView 中的 selectedRange 属性

    我创建了一个按钮 我想检查是否选择了文本 然后在点击时在 selectedRange 上切换粗体和非粗体 目前 我的代码只会将 selectedRange 更改为粗体 我无法撤消它或检查是否有选择 我怎样才能实现这个目标 func bold