问题标签 [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 投票
1 回答
478 浏览

ios - TextKit 在广泛的排除路径后不布局文本

我从 objc.io #5 http://www.objc.io/issue-5/getting-to-know-textkit.html中获取了 TextKit 示例项目,并在 Text Interaction Demo 中修改了排除路径的宽度和形式。我使排除路径宽度大于其容器宽度。而且我发现如果我将它放在文本的中间,它不会在排除路径之后布局。有什么办法可以解决吗?我想查看排除路径下方的文本。如果我添加一个新的文本容器,我将失去选择行为。

0 投票
2 回答
2821 浏览

ios - 如何使 UITableView 行高响应用户的首选文本大小(动态类型)?

我希望UITableView的行高能够响应用户首选文本大小的变化。例如,当首选文本大小增加时,我想按比例增加行高。这是我到目前为止所拥有的:

那么计算反映用户首选文本大小的行高的最佳方法是什么?

0 投票
2 回答
805 浏览

ios - NSLayoutManager,每段有一个 NSTextContainer

如何创建一个 NSLayoutManager,将其文本中的每个段落分配给不同的 NSTextContainer?

这类似于 TextKit 中常见的多页/列用法,但每个页面对应于可变长度的不同段落。

0 投票
5 回答
3951 浏览

ios - 在 iOS7 或 TextKit 中使用什么来代替 scrollRangeToVisible

在以前版本的 iOS 中,我UITextView将使用滚动到底部

或者

但是前者现在会产生奇怪的效果,即每次我将文本附加到视图时,都会从长文本的顶部开始动画滚动到底部。添加文本时有没有办法弹出到文本底部?

0 投票
3 回答
8518 浏览

ios - iOS NSAttributedString 到 HTML

我有一个NSAttributedUITextView.

然后我让用户编辑他们想要的内容,然后我想再次将其转换为 HTML,所以我使用:

它确实返回 HTML,但这不是我想要的。一切都被赋予了一个类属性,以及它放在文档顶部的 CSS。图像和链接之类的东西甚至不包含在返回的 HTML 中,而且可能还有更多问题。

有没有更好的方法从NSAttributedString. 或者,有没有一种方法可以解析NSAttributedString并编写自己的 HTML?

0 投票
1 回答
943 浏览

ios - 动画 NSLayoutManager 绘图

我有一个NSLayoutManager使用以下代码绘制文本的内容:

在我看来-drawRect:。这非常有效,但我真正想做的是逐个字符地为文本设置动画,就好像它正在被输入一样。

我尝试将字符附加到“可见字符串”变量,然后调用-[self setNeedsDisplay],但是在处理大约 20 个字符以上的文本时,它开始滞后,因为它每次都会重绘所有文本。

回归:我怎样才能为NSLayoutManager's设置动画-drawGlyphsForGlyphRange:atPoint:

0 投票
1 回答
4695 浏览

ios - 为 NSTextStorage 子类设置 viewController 的 layoutManager 时字形索引无效

我的目标是使用 TextKit 斜体,设置某些单词的文本大小等。

首先,我只是想突出显示文本字符串中的一个字符。作为 TextKit 的新手(并且对于一般的编程来说如实说),我正在关注 obc.io 问题 #5 的语法高亮主题。

当使用我创建的 UITextView 内置的 NSLayoutManager 时,我的文本出现在屏幕上,没有抛出异常。当我在视图控制器(如下)中将 UITextView 设置为 NSTextStorage 子类的布局管理器时,我收到无效字形索引异常的错误。

控制台输出如下:

我多次阅读 Apple 的 Text Programming Guide 并认为我了解文本系统是如何建立的,但不知道为什么我的字形数会超过字形数......

我为我的 viewController 和 NSTextStorage 子类创建了要点,分别在这里这里

0 投票
1 回答
1296 浏览

ios - 连接的 NSAttributedString 没有以正确的格式呈现

NSAttributedString使用 TextKit 将 a 中的一大段文本(已经使用正确呈现的属性格式化)呈现为多列、多页格式,如下所示:

但是,在执行此操作之前,我需要将两个附加的属性字符串添加到现有的NSAttributedStringself.attrString在本例中),如下所示:

当我查看生成的属性字符串的内容时,我得到以下信息:

Moby Dick {NSFont = " font-family: \"Georgia\"; font-weight: normal; font-style: normal; font-size: 28.00pt";}Herman Melville{NSFont = " font-family: \"Georgia \"; 字体粗细:正常;字体样式:正常;字体大小:12.00pt"; }Lorem ipsum dolor et { NSColor = "UIDeviceWhiteColorSpace 0 1"; NSFont = " font-family: \"Times New Roman\"; font-weight: normal; font-style: normal; font-size: 12.00pt"; NSParagraphStyle = "Alignment 4, LineSpacing 0, ParagraphSpacing 12, ParagraphSpacingBefore 0, HeadIndent 0, TailIndent 0, FirstLineHeadIndent 0, LineHeight 0/0, LineHeightMultiple 0, LineBreakMode 0, Tabs (\n 28L,\n 56L,\n 84L,\ n 112L,\n
140L,\n 168L,\n 196L,\n 224L,\n 252L,\n 280L,\n
308L,\n 336L\n), DefaultTabInterval 36, Blocks (null), Lists (null), BaseWritingDirection -1, HyphenationFactor 0, TighteningFactor 0, HeaderLevel 0"; }more lorem ipsum 等等...

即看起来属性已正确添加。但是,当使用 TextKit 渲染时(参见第一段代码),合并文本组件(本示例中的标题和作者)的文本大小和不同字体无法如此渲染,而只是被分配了相同的基本属性如下文。

如果我没有使用 TextKit,而是创建了一个 UITextView 并将其NSAttributedString直接呈现到该视图中(即不使用NSLayoutManager等),则插入的属性字符串中的字体和大小差异会正确呈现。

我的问题:为什么添加的文本在使用 TextKit 时无法正确呈现,但在直接使用 UITextView 时却没有?我需要使用 TextKit 来支持它的多列和排除路径。

0 投票
1 回答
4937 浏览

ios - 属性文本不适用于 TableView 单元格

尝试在 TabelViewCell 上使用不同的字体和字体大小,但它不起作用。

这是我尝试过的:

此代码使应用程序崩溃

然后我尝试了这个:

现在一切正常,但字体和字体大小没有改变。

以下是我的应用程序中的更多代码:

0 投票
2 回答
3628 浏览

ios - 为 UITextView 中的文本获取 CGRect 以使用 CALayer 突出显示

我试图在 UITextView 中绘制一个透明的 CALayer,以便在搜索中突出显示匹配的文本。

我已经找到了正确的方法,但仍然没有找到正确的坐标。我需要找到文本容器的来源。现在,我得到了 textView 的原点,并以此偏移了图层的原点:

如果我移动文本字段,或者我不将偏移量除以 2,我会得到以下结果: 图层框关闭

我想知道我是否走在正确的轨道上,如果是的话,如何找到 NSTextContainer 对象的来源。