问题标签 [nstextattachment]

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 投票
2 回答
10213 浏览

nsattributedstring - 在 iOS 6 中将附件图像添加到属性字符串

我花了3个小时解决这个问题,但无法解决,有人知道为什么吗?请帮我!

下面的代码添加了一个图像作为属性字符串的附件,

然后我将 attrStr 分配给 UITextView 的属性文本,这在 iOS 7 中效果很好,但在 iOS 6 中图像不显示,我听说自 iOS 6 以来 UITextView 支持属性文本,我应该为 iOS 6 做些什么不同的事情?

PS:在iOS 6中,如果我将attrStr赋值给UILabel的AttributeText,它就会显示出来,UITextView有什么特别之处?

0 投票
2 回答
3474 浏览

ios7 - iOS 7 UITextView:重新打开应用程序后,nstextattachment 的大小变为 2 倍

我正在使用 ios7 中的 Text Kit 构建一个笔记编辑器。早些时候,我在渲染自定义大小的 NSTextAttachment 时遇到了麻烦,因为它在很大程度上减慢了渲染速度。我通过缩放图像然后将它们添加到 textview 解决了这个问题。你可以在 iOS 7.0 UITextView 中找到我的答案,之后变得非常慢向其中添加图像 缩放图像后,textview 渲染运行良好,没有任何延迟。textview 的属性文本存储在核心数据中。在应用程序的运行会话期间,textview 正确显示图像。即使在核心数据中保存属性文本并检索它之后再次显示在 textview 上,图像看起来很好。但是在杀死应用程序并再次运行应用程序后。图像放大到 2 倍大小。在缩放图像时,我使用以下函数并使用 [[UIScreen bounds] scale] 来维护图像质量。

如果我将图像缩放到 1.0,图像不会扩展,但图像质量非常差。

我认为问题出在哪里? 问题在于布局管理器。

我尝试过 的我尝试将 NSLayoutManager 子类化并覆盖 - (void)drawGlyphsForGlyphRange:(NSRange)glyphsToShow atPoint:(CGPoint)origin 我看到的是在运行应用程序的新会话时附件大小加倍。如果我尝试检查附件的大小并调整它的大小。滞后又开始了。我很早就被这个问题困扰了。任何建议都将不胜感激。在此处输入图像描述 在此处输入图像描述

0 投票
2 回答
4494 浏览

ios - 将带有图像的 NSAttributedString 保存到 RTF 文件时遇到问题

我有一些输出是一个非常简单的 RTF 文件。当我生成此文档时,用户可以通过电子邮件发送它。这一切都很好。文档看起来不错。获得 NSAttributedString 后,我创建一个 NSData 块,并将其写入文件,如下所示:

该文件可以通过电子邮件发送。当我检查电子邮件时,一切都很好。

现在,我的任务是在文档顶部添加一个 UIImage。太好了,所以我正在创建一个这样的属性字符串:

此时,在 Xcode 中,我可以对 imageAttrString 进行 QuickLook,它绘制得很好。

构建此字符串后,我将执行以下操作:

然后添加我最初生成的所有其他属性文本。

当我现在查看文件时,没有图像。QuickLook 在调试器中看起来不错,但最终输出中没有图像。

提前感谢您对此的任何帮助。

0 投票
2 回答
1823 浏览

ios - NSTextAttachment 自定义视图

NSTextAttachment是否可以在要在 iOS 上显示的位置显示自定义视图?我有自定义文本存储和布局管理器子类,但我不确定将代码放在哪里以实际添加子视图。

(我想要这个的原因是为了支持内联方程编辑。我有一个自定义文本字段类,它允许用户输入一个方程,我希望这个视图被添加到另一个文本视图的正文中。)

我看过这个教程,虽然它似乎是一个很好的起点,但它并没有涵盖实际绘制文本附件的位置。那么,具体来说,我应该重写哪些方法来添加自定义视图来代替默认的文本附件图标

请让我知道我想做的事情是否可行,或者我是否以错误的方式去做。谢谢你的帮助!

0 投票
1 回答
1119 浏览

ios - 如何禁用 NSTextAttachment 上的交互?

在可编辑 = YES 和可选择 = NO 的 UITextView 中,我想禁用 NSTextAttachments 上的交互。更具体地说,我不想长按 NSTextAttachments 来突出显示附件图像。我希望将这些长按手势作为普通的文本选择手势传递给 UITextView。

我尝试过 textView:shouldInteractWithTextAttachment:inRange:的:可以阻止操作表但不能阻止附件图像的临时突出显示,也不能将这些长按作为文本选择手势处理。

0 投票
1 回答
4185 浏览

ios - NSTextAttachment 在 UILabel 中的位置?

我有一个UILabel显示NSAttributedString. 该字符串包含 text 和 aUIImage作为NSTextAttachment.

渲染时,有没有办法获取 中的NSTextAttachment位置UILabel

编辑

这是我想要达到的最终结果。

当文本只有 1 行长时,图像应该正好在UILabel. 简单的:

单行UILabel

当您有多行但仍希望图像位于最后一行的末尾时,就会出现问题:

多行UILabel

0 投票
0 回答
171 浏览

ios - 为 NSAttributedString 获取适当的 CGRect

从标题中可以清楚地看出,我正在尝试为包含 a 的边界找到合适的大小,UILabel其中NSAttributedString包含一些使用NSTextAttachment.

在使用 的attributedText属性之前UILabel,我使用text的是仅携带纯文本的属性,我使用的方法是

sizeWithFont:font constrainedToSize:CGSizeMake(220, 9999) lineBreakMode:NSLineBreakByWordWrapping

它工作正常。但是现在我已经更改了我的内容类型,UILabel并且这种方法不再给出正确的大小(因为它不考虑图像的宽度)。

我用谷歌搜索了很多,我最终得到的唯一一件事NSAttributedString

boundingRectWithSize:CGSizeMake(220.f, CGFLOAT_MAX) options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) context:nil

但它没有返回适当的大小,并且使用此方法在 UI 中丢失了大部分内容。因此,请提出另一种解决方案,或者如果您提出建议,boundingRectWithSize请就如何使其发挥作用提出明确的说明。

以防万一,我要显示的是可能包含表情符号(自定义图像,当然不是表情符号)的文本消息,并且这些表情符号被存储并显示为NSTextAttachments。

0 投票
0 回答
92 浏览

ios - 文件归档后 NSAttributedString 属性发生变化

我有一些NSAttributedString要展示的东西。NSAttributedString包含一个NSAttachment具有特定大小的图像。第一次正确显示在UITextView.

然后我将它存储在一个NSMutableArray并存档它。当我NSAttributedString从存档文件重新加载到UITextView时,附加的图像失去了它的大小属性!!!

NSAttributedString在文件归档中存储附件有什么问题吗?

0 投票
3 回答
2702 浏览

ios - 使用属性文本在 UITextView 中重绘 NSTextAttachments

我有一个被覆盖的 NSTextAttachment 子类
attachmentBoundsForTextContainer:proposedLineFragment:glyphPosition:characterIndex:
imageForBounds:textContainer:characterIndex:

我需要在某个时候重新绘制附件。调用setNeedsDisplayUITextView 不起作用。

有任何想法吗?我想避免重新创建附件和/或属性字符串。

0 投票
1 回答
5641 浏览

ios - iOS NSTextAttachment image not showing

NSTextAttachment lock image cut off at the edge but when the line does not breaks at the edge then the lock icon can be seen. I want the icon to move to the next line like a word move to the next line.

Here are the example:

#xA;

enter image description here

Lock icon gone missing when the text near the edge.

Lock icon gone missing when the text near the edge.