问题标签 [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.

0 投票
0 回答
1283 浏览

objective-c - NSTextAttachment 周围有文字

我有一个基于 TextKit 的编辑器,支持添加图像。我想在单独的行上显示每个图像。

我的代码在我的 NSTextStorage 子类中看起来像这样(谢谢 TextEdit)

(_isEditing 是一个用于记账的布尔标志)

输出看起来像这样输出 http://take.ms/QCvRK

我在 NSMutableParagraphStyle 上尝试了各种参数,但在每张图片后都无法换行。

在文本附件周围添加换行符 ("\r") 将导致字形错误

我尝试将NSTextAttachment子类化以覆盖attachmentBoundsForTextContainer:proposedLineFragment:glyphPosition:characterIndex:以便将宽度设置为设备宽度,这导致附加图像看起来被炸毁。

关于如何在每张图片之后立即引入换行符的任何建议?如果我能让文本在图像附件周围流动,那就太好了。

提前致谢。

0 投票
1 回答
3321 浏览

ios7 - NSTextAttachment 和触摸事件

我有一个 UITextView(在编辑模式下),里面的图片很少(作为 NSTextAttachment)。我想拦截这些触摸事件。

我在 UITextView 上设置了一个委托,但从textView:shouldInteractWithTextAttachment:inRange:未被调用。

(从论坛看来,UITextView 的editable属性应该是NO为了这个工作,但不是按照官方文档)

编辑器看起来像这样: 编辑

0 投票
3 回答
1278 浏览

objective-c - 带有 SKLabelNode 的文本工具包

似乎无法将文本工具包、属性字符串和布局管理器与 Sprit Kit SKLabelNode 一起使用。

我想知道 Sprite Kit 游戏如何显示需要分成多行和属性字符串的长文本?

0 投票
1 回答
3469 浏览

ios - UILabel 的 TextContainer 上的排除路径

是否可以在 UILabel 上设置排除路径?苹果文档指出 UILabel 现在是基于 TextKit 构建的,但 UILabel 似乎没有公开 textContainer 属性。

我正在寻找一个包含多个标签和标签不应重叠的 roux 徽章的 tableview 单元格(如下所示)。

在此处输入图像描述

如果 UILabel 不可能,我怎样才能让 TextView 像 UILabel 一样(没有滚动、选择等)并调整它的大小以适应它的内容?

0 投票
1 回答
905 浏览

ios - 当我使用 NSUnderlineStyleAttributeName 在 NSTextStorage 上设置属性时,UITextView 文本正在丢失字体大小

在我的应用程序中,我有一个 UItextView,它的输入视图有附件视图,上面有几个按钮。

我正在尝试将已经输入的文本更改为下划线文本。它工作正常,但在转换后会丢失字体和字体大小。

这就是我正在做的事情:

0 投票
1 回答
3190 浏览

ios - 从 UITextView 和 NSLayoutManager 获取行信息

为了支持该UIAccessibilityReadingContent协议,我需要我的 UITextView 来回答我关于它的线路的问题。这些是我需要实现的协议方法:

  • accessibilityLineNumberForPoint:<- 提供坐标,返回行号
  • accessibilityContentForLineNumber:<- 返回给定行的文本
  • accessibilityFrameForLineNumber:<- 给定一个行号,返回它的帧
  • accessibilityPageContent<- 整个文本内容。我有。:)

我认为 NSLayoutManager 可以帮助我,但我对它没有那么有经验。我已经弄清楚了一些(我认为),但仍然需要一些帮助。

苹果有一些示例代码(这里)可以让我知道文本视图中的行数:

我认为有了lineRange上面,我可以使用这种方法计算直线NSLayoutManager

并且鉴于lineRanges我应该能够使用(通过查找lineRange包含字形索引的点来计算点的行号:

NSString那么剩下的就是,在给定行号的情况下,我如何获取行的内容(作为)?

0 投票
5 回答
4848 浏览

ios - NSAttributedString 报告 UITextView sizeThatFits 和 boundingRectWithSize 的大小不正确,并设置了正确的选项

当字体大小从用于创建它的字体大小减小时,我有一个 NSAttributedString 报告 boundingRectWithSize (以及扩展的 UITextView,它不正确地计算其 sizeThatFits)。

它不会发生在我执行类似操作的所有 NSAttributedStrings 上,所以这里是重现的步骤。

  1. 使用不包含完整 unicode 字符集的非标准字体。
  2. 确保字符串包含此“不受支持”集中的字符。iOS 会将它们呈现为适当大小的 Helvetica。
  3. 在 NSAttributedString 中的所有字体属性上缩小字体。我这样做的代码产生了这个问题,如下所示。

从 UITextView 子类内部:

我注意到,在while循环中运行此代码时,会检查 sizeThatFits 以了解文本何时足够小以适合我在某些情况下会发生零竞赛。对于任何小于我开始使用的字体值(恰好是 50 像素),高度都被计算为 60 像素。

NSLoging NSAttributedString 时,我发现有几个属性我没有使用键添加,这些键NSOriginalFont似乎不在此处支持的属性列表中。NSOriginalFont 是怎么回事?为什么我的尺寸计算不正确?

0 投票
1 回答
814 浏览

ios - 更改段落样式后重绘 UITextView 选择

作为我想要制作的应用程序的初步阶段,我设置了一个简单的测试示例,用于缩进UITextView. 它基本上设置了NSTextStorage一些文本并将其放在文本视图中。当用户点击缩进按钮时,我希望与当前选择重叠的段落缩进。

不起作用的部分是在段落缩进后,蓝色选择突出显示保持在该位置并且不会移动到现在选择的文本所在的位置。我缺少什么来使这种刷新发生?

以下是缩进前的工作部分:

在文本视图中显示所选文本的图像

这是缩进后相同选择的样子:

在此处输入图像描述

缩进的代码:

也许这是一个愚蠢的问题,但我会很感激外界的眼睛。谢谢你的帮助!

0 投票
2 回答
2745 浏览

ios - UITextView - 使用 NSBackgroundColor 突出显示文本 - 排除换行符

我有一个带有文本突出显示的工作功能,问题是它还突出显示换行符。看图片:

在此处输入图像描述

以下是我用于突出显示的功能:

有没有简单的解决方案?我应该在换行之前分割字符串并分别突出显示它们吗?另请注意,字符串可由用户编辑,因此必须有一些逻辑来检查文本是否在编辑文本的其他部分时没有中断。

感谢您的任何建议。

0 投票
1 回答
4001 浏览

ios - 具有非规则形状的 NSTextContainer 示例?

嗨,我正在使用TextKit适用于 iOS7 的新 API,并且正在尝试制作UITextView不规则形状的 API。到目前为止,我有一个视图控制器:

然后在我的 subclassedNSTextContainer中,我想mutablePath绘制一个作为文本容器的形状,但不知道如何实现这一点。我有:

只是有点困惑如何让它工作。我在任何地方都找不到NSTextContainer不规则形状的示例。