问题标签 [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.
nsattributedstring - 在 iOS 6 中将附件图像添加到属性字符串
我花了3个小时解决这个问题,但无法解决,有人知道为什么吗?请帮我!
下面的代码添加了一个图像作为属性字符串的附件,
然后我将 attrStr 分配给 UITextView 的属性文本,这在 iOS 7 中效果很好,但在 iOS 6 中图像不显示,我听说自 iOS 6 以来 UITextView 支持属性文本,我应该为 iOS 6 做些什么不同的事情?
PS:在iOS 6中,如果我将attrStr赋值给UILabel的AttributeText,它就会显示出来,UITextView有什么特别之处?
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
我看到的是在运行应用程序的新会话时附件大小加倍。如果我尝试检查附件的大小并调整它的大小。滞后又开始了。我很早就被这个问题困扰了。任何建议都将不胜感激。
ios - 将带有图像的 NSAttributedString 保存到 RTF 文件时遇到问题
我有一些输出是一个非常简单的 RTF 文件。当我生成此文档时,用户可以通过电子邮件发送它。这一切都很好。文档看起来不错。获得 NSAttributedString 后,我创建一个 NSData 块,并将其写入文件,如下所示:
该文件可以通过电子邮件发送。当我检查电子邮件时,一切都很好。
现在,我的任务是在文档顶部添加一个 UIImage。太好了,所以我正在创建一个这样的属性字符串:
此时,在 Xcode 中,我可以对 imageAttrString 进行 QuickLook,它绘制得很好。
构建此字符串后,我将执行以下操作:
然后添加我最初生成的所有其他属性文本。
当我现在查看文件时,没有图像。QuickLook 在调试器中看起来不错,但最终输出中没有图像。
提前感谢您对此的任何帮助。
ios - NSTextAttachment 自定义视图
NSTextAttachment
是否可以在要在 iOS 上显示的位置显示自定义视图?我有自定义文本存储和布局管理器子类,但我不确定将代码放在哪里以实际添加子视图。
(我想要这个的原因是为了支持内联方程编辑。我有一个自定义文本字段类,它允许用户输入一个方程,我希望这个视图被添加到另一个文本视图的正文中。)
我看过这个教程,虽然它似乎是一个很好的起点,但它并没有涵盖实际绘制文本附件的位置。那么,具体来说,我应该重写哪些方法来添加自定义视图来代替默认的文本附件图标?
请让我知道我想做的事情是否可行,或者我是否以错误的方式去做。谢谢你的帮助!
ios - 如何禁用 NSTextAttachment 上的交互?
在可编辑 = YES 和可选择 = NO 的 UITextView 中,我想禁用 NSTextAttachments 上的交互。更具体地说,我不想长按 NSTextAttachments 来突出显示附件图像。我希望将这些长按手势作为普通的文本选择手势传递给 UITextView。
我尝试过
textView:shouldInteractWithTextAttachment:inRange:
的:可以阻止操作表但不能阻止附件图像的临时突出显示,也不能将这些长按作为文本选择手势处理。
ios - NSTextAttachment 在 UILabel 中的位置?
我有一个UILabel
显示NSAttributedString
. 该字符串包含 text 和 aUIImage
作为NSTextAttachment
.
渲染时,有没有办法获取 中的NSTextAttachment
位置UILabel
?
编辑
这是我想要达到的最终结果。
当文本只有 1 行长时,图像应该正好在UILabel
. 简单的:
当您有多行但仍希望图像位于最后一行的末尾时,就会出现问题:
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
请就如何使其发挥作用提出明确的说明。
以防万一,我要显示的是可能包含表情符号(自定义图像,当然不是表情符号)的文本消息,并且这些表情符号被存储并显示为NSTextAttachment
s。
ios - 文件归档后 NSAttributedString 属性发生变化
我有一些NSAttributedString
要展示的东西。NSAttributedString
包含一个NSAttachment
具有特定大小的图像。第一次正确显示在UITextView
.
然后我将它存储在一个NSMutableArray
并存档它。当我NSAttributedString
从存档文件重新加载到UITextView
时,附加的图像失去了它的大小属性!!!
NSAttributedString
在文件归档中存储附件有什么问题吗?
ios - 使用属性文本在 UITextView 中重绘 NSTextAttachments
我有一个被覆盖的 NSTextAttachment 子类
attachmentBoundsForTextContainer:proposedLineFragment:glyphPosition:characterIndex:
imageForBounds:textContainer:characterIndex:
。
我需要在某个时候重新绘制附件。调用setNeedsDisplay
UITextView 不起作用。
有任何想法吗?我想避免重新创建附件和/或属性字符串。
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;Lock icon gone missing when the text near the edge.