是否可以获取 NSMutableAttributedString 的属性和范围列表?

2024-07-01

我创建了一个接受 NSAttributedString 的方法,并且我希望动态创建一个子视图和标签以将字符串放入其中。由于需要确定字体和大小等属性才能正确确定标签的大小,因此我需要确定是否可以迭代已应用于属性字符串的值和范围?

我知道我可以单独传递属性,但为了可重用性,我希望能够向方法传递尽可能少的参数。


斯威夫特 5 – 4

let attributedText = NSAttributedString(string: "Hello, playground", attributes: [
  .foregroundColor: UIColor.red, 
  .backgroundColor: UIColor.green, 
  .ligature: 1, 
  .strikethroughStyle: 1
])

// retrieve attributes
let attributes = attributedText.attributes(at: 0, effectiveRange: nil)

// iterate each attribute
for attr in attributes {
  print(attr.key, attr.value)
}

如果您已经定义了attributedText的标签。

Swift 3

var attributes = attributedText.attributes(
  at: 0, 
  longestEffectiveRange: nil, 
  in: NSRange(location: 0, length: attributedText.length)
)

斯威夫特2.2

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

是否可以获取 NSMutableAttributedString 的属性和范围列表? 的相关文章

  • 使用四元数进行弧球旋转(使用 iOS GLKit)

    我正在寻找一种在具有四元数的 3D 模型上进行轨迹球旋转的简单实现 特别是在 iOS 上使用 GLKit 到目前为止 我已经检查了以下来源 使用 GLKit 进行轨迹球旋转 http thestrangeagency com arcball
  • 在旧版 iOS 模拟器上运行时 Xcode 10 测试失败 - “无法加载测试包...找不到合适的图像”

    我已经安装了 Xcode 10 并将我的 iOS 应用程序升级到 Swift 4 2 当我通过 Xcode 在运行 iOS 12 的 iPhone 模拟器上运行测试 UI 和 Unit 时 测试成功启动 当我尝试在运行先前 iOS 版本 例
  • 将故事板转换为 XIB

    我使用 iOS 5 Storyboard 功能创建了一个应用程序 并决定希望它也能在 iOS 4 上运行 如何将我的 Storyboard 仅包含一个 ViewController 转换为 XIB 另外 ARC 可以为 iOS 4 编译吗
  • 如何从 CVPixelBufferRef 转换为 openCV cv::Mat

    我想对一个执行一些操作CVPixelBufferRef并出来一个cv Mat 裁剪到感兴趣的区域 缩放到固定尺寸 均衡直方图 转换为灰度 每像素 8 位 CV 8UC1 我不确定最有效的顺序是什么 但是 我确实知道所有操作都可以在 open
  • 如何让appium测试在iOS上运行得更快?

    目前 我正在使用 appium 进行 iOS 应用程序测试 并且我已经在 mac mini 机器上用 Java 编写了测试 我正在使用 Jenkins CI 来运行我的测试 我想更快地运行我的测试 因为目前它在 iOS 模拟器上相当慢 例如
  • IOS - Unicode 无符号

    我有一个用 C 编写的函数 我想将其转换为 Objective C 怎么做 public static string UnicodeUnSign string s const string uniChars const string koD
  • 连接到进程后 Xcode 控制台为空[重复]

    这个问题在这里已经有答案了 我在 iPhone 上构建了一个应用程序 退出它 再次启动它 然后成功附加到 Xcode 中的进程 现在我在日志导航器中运行了调试 但我的控制台是空的 我不应该在那里看到所有常用的控制台输出吗 您可以在设备日志中
  • 如何在表格视图中对图像进行动画处理以同时扩展和打开另一个视图控制器?

    我正在制作一个消息应用程序 我希望用户单击我的表格视图中的图像 它应该扩展到全屏并在导航栏上显示不同的控件 我该怎么办 我想我可以拍摄相同的图像 将 UIImageView 放在原始单元格图像之上并将其动画化为全屏 但是我如何在没有闪烁 延
  • 无需在线即可从 XMPP 获取离线消息

    我们的移动聊天应用程序使用 ejabberd 服务器 我们正在为我们的 IOS 应用程序使用 IOS XMPP Framework https github com robbiehanson XMPPFramework https gith
  • 是否可以更改 UISearchBar 占位符的对齐方式?

    由于输入语言不同 我需要以不同的对齐方式显示 UISearchBar I saw 这个答案 https stackoverflow com questions 9251592 how to change the alignment of a
  • 文件从 iOS 应用程序传输到 Mac 应用程序?

    是否可以在 Mac 应用程序和 iOS 应用程序之间传输文件 我想通过 Wifi 将 iOS 应用程序中的文档目录中的文件传输到 Mac 应用程序 我该怎么做 嗯 从 iOS 5 开始 就有了 iCloud 由于这仍处于保密协议之下 我只需
  • 为什么 HTML5 Media Source 视频无法在 IOS 上运行?

    看来两者 HLS and MPEG DASH 使用相同的Media Source ExtensionAPI 那么为什么HLSvideo仅适用于 IOS 为什么不MPEG DASH在 IOS 上工作吗 造成这个 的核心区别是什么 http n
  • XCode 5 在 AppStore 验证中崩溃

    我是 iOS 开发新手 很可能错过了一些相关的东西 我有一个在 Xcode 中开发的应用程序 并使用开发设备进行了测试 以便我知道它运行正常 我已在 iTunes Connect 中创建了记录 并完成了启用 等待上传 状态的步骤 在构建设置
  • 如果用户应答传入的 iMessage,WKWebView 会崩溃

    我的应用程序发生严重崩溃 CALayer position contains NaN 377 833 nan 具有以下堆栈 Fatal Exception CALayerInvalidGeometry 0 CoreFoundation 0x
  • 如何使用 Swift 3 使用后台任务?

    我是后台任务的新手 我有一个小工作 我正在获取推文 如果我的应用程序处于后台模式 那么它也应该获取推文 但我不知道如何 我在 Appdelegate didFinishLaunchOption 方法中使用简单的计时器 当我关闭该应用程序时
  • 通话期间未调用远程通知回调

    我创建了一个应用程序 其中后台获取代码是在接收推送通知时编写的 我已在 plist 中启用后台模式 推送通知负载中的内容可用键设置为 1 注册推送通知并使用委托 void application UIApplication applicat
  • 寻找 MKOverlayPathRenderer 示例

    我正在尝试弄清楚如何使用新的MKOverlayPathRenderer class 在我之前使用的应用程序中MKOverlayPathView使用 iOS 6 SDK 构建时 但不幸的是 它似乎不适用于 iOS 7 SDK 所以我试图将我的
  • 斯威夫特 NSNotificationCenter?

    我正在尝试让 UITextViewTextDidChangeNotification 正常工作 我是 NSNotificationCenter 的新手 所以我很难理解到底发生了什么 我在故事板中有一个 UITextView 我在 ViewC
  • iOS,如何使用 Google Places Api 显示两点之间的路线?

    我一直在寻找如何在 iOS 中使用 Google Places API 绘制两点之间的路线 但我还没有发现有趣的东西 在两点之间绘制路线的唯一方法是调用 Web 服务并将 JSON 解析到您的应用程序中 以在两点之间路由路线 Here ht
  • UITapGestureRecognizer 点击 self.view 但忽略子视图

    我需要实现一个功能 当我双击 self view 视图 时 该功能将调用一些代码UIViewController 但问题是我在此视图上有其他 UI 对象 并且我不想将任何识别器对象附加到所有这些对象 我在下面找到了如何在我的视图上做出手势的

随机推荐

  • Hoptoad v.异常 v.异常_通知 v.异常_记录器

    以下哪种异常通知解决方案最好 卓越的 http getexceptional com Hoptoad http hoptoadapp com 异常通知 http github com rails exception notification
  • F# Power 问题接受两个参数均为 bigint

    我目前正在尝试使用 F 在互联网上找到的文章很有帮助 但作为一名 C 程序员 我有时会遇到一些情况 我认为我的解决方案会有所帮助 但实际上没有帮助或只是部分帮助 因此 我对 F 缺乏了解 很可能对编译器的工作原理缺乏了解 可能是我有时感到完
  • Java中无法到达的语句编译错误[重复]

    这个问题在这里已经有答案了 class For1 public static void main String args int a 0 for break System out println a Line 1 a Line 2 我知道第
  • 是否可以自定义keycloak使用的user_entity表?

    我正在尝试使用 keyCloak 进行 SSO 我在keycloak中设置了mysql而不是嵌入式h2数据库 然而 有一个问题 在udemy的讲座上 讲师告诉我们不建议直接处理db table 由keycloak创建 如果业务需求应用程序处
  • Perl:什么时候使用 system() 以及什么时候安装软件包?

    我工作的项目在由系统人员维护的机器上使用 Perl 脚本 安装 Perl 模块等软件包并不是一件容易的任务 您通常必须打电话给有权限的人来执行此操作 等待几天 了解包的 API 然后记住将其安装在每台新安装的配置机器上 多次选择的替代方案只
  • Python字典键(类对象)与多个比较器的比较

    我使用自定义对象作为 python 字典中的键 这些对象有一些默认值hash and eq定义的方法用于默认比较 但在某些功能中我需要使用不同的方式来比较这些对象 那么有什么方法可以覆盖或传递一个新的比较器来仅针对该特定函数进行这些关键比较
  • 从 MySQL 数据库中选择多个字段重复项

    我有一个旧论坛 其中包含具有重复的第一个帖子的线程 可能有不同的回复 我想删除除其中一个线程之外的所有线程 留下观看次数最高的线程 我有以下 SQL 查询来帮助识别重复线程 但我找不到一种方法让它仅列出 xf thread view cou
  • 如何在 React、ES6、Electron 应用程序上使用本机节点模块?

    我有一个 React Electron 应用程序 我希望能够从编译的 ES6 访问本机节点模块 使用 Babel 和 Webpack 例如 当我尝试要求 fs 节点模块访问文件系统时 出现以下错误 ERROR in src app js M
  • Yii 条件关系

    我有一个chat带字段的表 admin TINYINT owner id INTEGER 目标是在 Yii 中建立两个关系 admin gt array self BELONGS TO Admin owner id condition gt
  • 通过 JavaScript 传输事件来调用 :hover 伪类

    这是场景 您有两张图像 它们彼此堆叠在一起 最高阶的 z 索引图像负责处理点击事件 想想 Google 的 Map API 并且是透明的 而下面的图像负责视觉表示 这是一个伪 HTML CSS 表示 div visual container
  • Android + PhoneGap拦截URL(相当于iOS的shouldStartLoadWithRequest)

    我的 PhoneGap 包装的 本地托管的 Sencha Touch 应用程序会进行一些虚假的 URL 回调来与本机包装器进行通信 IE app callback do function a 在iOS中我实现了以下内容 BOOL webVi
  • 从 ASP.NET 插入到 MS Access

    我们正在尝试建立一个专门用于内联网的服务台票务系统 决定使用 Visual Studio 2008 Express 的 ASP NET C 如果需要的话 我们有一个完整版本 没什么花哨的 几页抓取 NTLM 信息 系统信息并将其与问题一起存
  • 手动将行添加到 StreamingHttpResponse (Django)

    我正在使用 Django 的 StreamingHttpResponse 动态传输大型 CSV 文件 根据the docs https docs djangoproject com en 1 11 ref request response
  • SELECT * FROM NEW TABLE 在 Postgres 中等效

    在 DB2 中 我可以执行如下所示的命令来从插入的行中检索信息 SELECT FROM NEW TABLE INSERT INTO phone book VALUES Peter Doe 555 2323 AS t 我如何在 Postgre
  • NSWindow 中的 NSScrollView

    我在 NSWindow 中有一个 NSScrollView 但它似乎被禁用了 它looks就像它会工作一样 但是滚动条是反应迟钝到鼠标或滚轮 当我将完全相同的 NSScrollView 放入新 XCode 项目的窗口中时 它工作得非常完美
  • 如何在 Ionic 中将图像同时放入

    我目前正在开发 Ionic 应用程序 并致力于在 ion header 和 ion content 中实现图像 这是我如何实现的屏幕截图 从屏幕截图中可以看到 离子标题和离子内容内容被隐藏 因为我设置了图像z index到高数字 有人可以建
  • 从表达式创建动态 Linq select 子句

    假设我定义了以下变量 IQueryable
  • 如何将字典中从一个键到下一个键的所有值相加? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个字典 其中 DateTime Now Date 转换为字符串作为键 整数作为值 我需要以某种方式将从一个输入键到下一个键的所有
  • 打破弹性项目内的长单词

    我想打破 div2 内的长单词 div2 和 div3 宽度都不能大于父宽度 即 150px 唯一有效的是word break break all但这也会破坏简短的单词 div1 display flex max width 150px h
  • 是否可以获取 NSMutableAttributedString 的属性和范围列表?

    我创建了一个接受 NSAttributedString 的方法 并且我希望动态创建一个子视图和标签以将字符串放入其中 由于需要确定字体和大小等属性才能正确确定标签的大小 因此我需要确定是否可以迭代已应用于属性字符串的值和范围 我知道我可以单