问题标签 [textkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - NSTextStorage 的备用后备存储
每个示例都将 NSMutableAttributedString 显示为“后备存储”,用于保存与查看/编辑文本相关的文本和属性。我如何使用替代品,例如 std::string 或者数据库中的内容。作为一个测试,我创建了一个子类并对其进行硬编码,以便在我覆盖所需的方法时返回默认值。但是,当我在 iPhone 5 设备上运行它时,它只会显示黑屏,直到我按下 Home 按钮。系统不断调用attributesAtIndex:location:effectiveRange:range:,CPU使用率上升到100%,App从不做任何事情。它确实调用了一次 string: 方法,但随后只是继续调用 attributesAtIndex:location:effectiveRange:range
这个例子:
以下是它的设置方式:
我理解 NSTextStorage 是一个类集群,这似乎意味着它是一个抽象类工厂。我真的不明白为什么我不能使用另一个“后备商店”。我的计划是使用 std::string (因为我的数据来自哪里),然后返回一个常量属性样式(如上面的代码)。我一直在阅读有关 NSTextStorage、NSLayoutManager、NSTextContainer 和 NSTextView 的所有内容,包括 mac OS X 文档(即使我在 iOS 上这样做)。谢谢!
ios - 下划线文本 - 不同字体大小的交叉范围内的线条粗细
我正在使用 textStorage 的属性UITextView
。我有字符串和我的类的对象数组TextFormattingElement
。此类的一个实例由NSRange
(必须在文本中应用此元素)和一些格式参数组成:
现在我遍历这个数组并将这些元素依次应用到 textView 的 textStorage 中。我使用这种方法:
我有一个问题:如果我有两个TextFormattingElement
具有交叉范围的实例(例如NSMakeRange(9,28)
和NSMakeRange(26,7)
),则下划线的粗细总是取决于最后一个元素的字体大小。您可以在此屏幕截图中看到此说明:
我的 2 个格式化元素的参数是:
第一个:位置 = 9,长度 = 28,fontName = TimesNewRomanPSMT,fontSize = 15,fontColor = UIDeviceRGBColorSpace 1 0 0 1,isBold = 0,isItalic = 0,isUnderlined = 1,isStriked = 0
第二:位置 = 26,长度 = 7,fontName = TimesNewRomanPSMT,fontSize = 25,fontColor = UIDeviceRGBColorSpace 0 0 1 1,isBold = 1,isItalic = 0,isUnderlined = 1,isStriked = 0
但我想获得类似 Google Docs 的效果:
如何使用 TextKit 做到这一点?
download - 替换 NSMutableattributedString 上的 NSTextattachement 图像
我正在构建一个带有文本和图像的 UITextView(子类化 NSTextstorage 以显示我的内容)
我有带有图像 URL 的文本内容。所以我的问题是,如果没有缓存,我需要下载所有图像。
所以我想先插入一个占位符图像,下载图像,然后用下载的图像替换占位符图像。
这就是我的工作方式。
首先,我通过用这个标签替换所有 url 来用图像 url 格式化我的文本:
然后我使用正则表达式来获取所有这些标签。
我正在测试是否有缓存的图像。如果没有,我提取所有 url,下载它们并缓存它们。
我创建了一个 NSObject 类 ImageCachingManager 并声明了一个在下载图像时调用的委托方法:
像这样,我很难使用委托方法获得的图像的 url 在我的 NSTextstorage 属性字符串中搜索匹配的 url,并用下载的图像替换当前的 NSTextattachement 图像。
但是我不知道该怎么做...
感谢帮助 !
ios - NSAttributedString:如何显示具有不同属性和缩进的行
如何拆分字符串“5 + Bonus Ball”,例如:
我将把这个属性字符串分配给标签。
ios - iOS7 UITextView 具有来自文件的多个段落样式
我正在为我的应用程序编写应用程序内指南,我想在其中布局一些支持动态类型的标题和文本段落。
使用单个 UITextView 最简单的方法是什么?(文本最好从单独的文本文件中加载)。
有很多方法可以解决这个问题:
- UIWebViews(过度杀戮??)
- UITextView 和 NSAttributedString?
- Text Kit - 对于这个简单的任务来说似乎很麻烦?
ios - 如何将 UITextView 的文本设置为粗体且不可点击
我在 a 中有以下 HTML,UITextView
并希望将其呈现为UITextView
是我的身体作为笔记
让我补充一下:它当前显示为蓝色并带有下划线且不可点击。我想让它加粗并且不可点击。我已经阅读了有关的文档,linkTextAttributes
但是没有使用它,它有点超出我的能力,我真的没有看到任何简单的方法来操纵它。我如何将上面的链接渲染为粗体和黑色(不是蓝色)并保持不可点击的性质?
ios - 嵌入在 UITextView 中的三列表
我的项目包括在 UITextView 中显示文档。大部分文档都是非常直接的属性文本,我可以正常工作。文档的其他部分由普通文本组成,然后是一个 3 列的表格,其中 2 或 3 行基本上就在普通文本的中间。
在花了相当多的时间搜索网络之后,我似乎找不到任何关于任何人做这样的事情的参考。
根据我读过的一些教程,我在想也许有一种方法可以创建一个由一堆 UILabel 组成的子视图,这些 UILabel 将是 UIView 的子视图(我们称之为_tabularView
),我可以在 UITextView 顶部布局. 然后我可以以某种方式将框架定位_tabularView
到它应该在的 UITextView 中的字符范围。然后我可以使用排除路径来防止文本进入视图。我唯一的问题是我不确定如何去做,而且我也担心它不会随着其他内容滚动。
我的问题是,是否有人对如何完成此任务有任何建议,或者对将表格嵌入 UITextView 的更好方法提出建议。
objective-c - 如何使用 TextKit 设置字符之间的固定距离
我TextKit
用来画很长的文字。段落对齐是NSTextAlignmentJustified
,hyphenationFactor
是 on。
通常它工作得很好,但有时我会看到这样的行:"L o n g t e x t"
. 有没有办法画出这样的线条"Long____text"
?即用灵活的空格设置字符之间的恒定距离?
提前致谢。
ios - 如何在 UILabel 中将文本放入圆圈中
我想将文本UILabel
流入一个圆圈(而不是矩形)。我做了一些实验NSLayoutManager
,NSTextContainer
但NSTextStorage
它似乎不起作用。下面的示例应该将文本流入一个较小的 40x40 矩形(标签为 120x120),但似乎没有任何效果。
伊德斯?
objective-c - 放大镜和编辑菜单不会出现在使用 TextKit 的分页滚动视图中
我创建了一个分页 UIScrollView 并使用 TextKit 用文本填充其内容。所有的分页工作完美。让我难过的是,当所有文本都适合一页时,一切都按预期工作。但是,如果文本较长并且需要滚动视图来创建多个页面,则文本不再是可突出显示/可选择的。
这是一个简单的示例(只需将其放入viewDidLoad
要复制的新项目中)。将文本视图的字体大小更改为较小的(12pt),以便所有文本都适合一页将导致预期的行为。相反,更大的尺寸(22pt)将为滚动视图创建多个页面,我们失去了文本的难处理性。
所以我想我的问题是,即使文本需要多页,我如何才能恢复放大镜和编辑菜单功能?
非常感谢您的帮助!