问题标签 [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 回答
7756 浏览

objective-c-category - 如何继承 NSTextAttachment?

这是我的问题:

我使用 Core Data 存储来自 iOS 和/或 OS X 应用程序的富文本输入,并希望粘贴到 NSTextView 或 UITextView 中的图像:a) 保留其原始分辨率,b) 显示以正确缩放以适合 textView,这意味着根据设备上视图的大小进行缩放。

目前我- (void)textStorage:(NSTextStorage *)textStorage didProcessEditing:(NSTextStorageEditActions)editedMask range:(NSRange)editedRange changeInLength:(NSInteger)delta用于查找附件,然后生成具有比例因子的图像并将其分配给 textAttachment.image 属性。

这种方法之所以有效,是因为我只是更改了比例因子并且保留了原始图像,但我相信更优雅的解决方案是使用 NSTextAttachmentContainer 子类并从中返回适当大小的 CGREct

所以我的问题是如何创建和插入这样的子类?

我是否使用 textStorage:didProcessEditing 来遍历每个附件并用我自己的类替换它的 NSTextAttachmentContainer,或者我可以简单地创建一个类别,然后以某种方式使用这个类别来更改默认行为。后者似乎不那么具有侵入性,但我如何让我的 textViews 自动使用这个类别?

糟糕:刚刚注意到 NSTextAttachmentContainer 是一个协议,所以我假设然后在 NSTextAttachment 上创建一个类别并覆盖上面的方法是一个选项。

嗯:不能使用 Category 来覆盖现有的类方法,所以我猜子类化是唯一的选择,在这种情况下,我如何让 UITextView 使用我的附件子类,或者我是否必须遍历 attributesString 以替换所有 NSTextAttachments MYTextAttachment 的实例。将这个字符串在 OS X 上解压成默认的 OS X NSTextAttachment(不同于 iOS 类)会有什么影响?

0 投票
1 回答
1734 浏览

ios - ios7自定义与uilabel中的nstextattachment交互

NSTextAttachment在 a 中有一个图像,UILabel我想在单击此附件时执行自定义行为。

UITextViewDelegate提供了一个方便的方法

但它只能在我使用UITextView.

如果我使用有什么解决方案UILabel吗?

谢谢!

0 投票
1 回答
1953 浏览

uitextview - 如何将菜单选项添加到 NSTextAttachment 弹出菜单是 UITextView?

我想向默认图像附件菜单选项(复制图像、保存到相机胶卷)添加另一个菜单选项。请注意,如果 textView 未处于编辑模式,则当您长按嵌入在 UITextView 中的图像时会显示这些选项。

我尝试向 uimenucontroller 添加自定义菜单并使用 -(void)canPerformAction 启用或禁用该选项,但这似乎将菜单项添加到 uitextView 的编辑菜单中,并且对附件弹出菜单没有影响。

-(void)canPerformAction 似乎永远不会在长按图像附件时被调用。

0 投票
2 回答
809 浏览

ios - 如何检测 NSString 是否包含 NSTextAttachment 图像?

如何检测是否NSString包含下NSTextAttachment图中显示的 [OBJ]?

除了纯文本之外,记录文本不显示任何内容。

我设法删除它:

但这感觉更像是一种黑客行为,而不是真正的解决方案。我真的很惊讶它甚至出现了,因为该消息是NSString该类的一个实例......

在此处输入图像描述

0 投票
0 回答
612 浏览

ios - 动画 NSTextAttachment

NSTextAttachment是否可以为a设置动画UITextView

我尝试修改它的边界,但它似乎没有产生任何效果。

这是不可能的NSTextAttachment,你会建议做什么来达到类似的效果?

0 投票
1 回答
2127 浏览

download - 替换 NSMutableattributedString 上的 NSTextattachement 图像

我正在构建一个带有文本和图像的 UITextView(子类化 NSTextstorage 以显示我的内容)

我有带有图像 URL 的文本内容。所以我的问题是,如果没有缓存,我需要下载所有图像。

所以我想先插入一个占位符图像,下载图像,然后用下载的图像替换占位符图像。

这就是我的工作方式。

首先,我通过用这个标签替换所有 url 来用图像 url 格式化我的文本:

然后我使用正则表达式来获取所有这些标签。

我正在测试是否有缓存的图像。如果没有,我提取所有 url,下载它们并缓存它们。

我创建了一个 NSObject 类 ImageCachingManager 并声明了一个在下载图像时调用的委托方法:

像这样,我很难使用委托方法获得的图像的 url 在我的 NSTextstorage 属性字符串中搜索匹配的 url,并用下载的图像替换当前的 NSTextattachement 图像。

但是我不知道该怎么做...

感谢帮助 !

0 投票
0 回答
301 浏览

ios - NSTextAttachment 不显示在 CATextLayer

我在 UITextView 上试过它可以工作。但是当我使用 CATextLayer 时图像留空。

有人试过吗?

这是我在 UIView drawRect 中尝试的代码

然后添加到 CATextLayer

0 投票
5 回答
23142 浏览

ios - how to resize an image or done as a NSAttributedString NSTextAttachment (or set its initital size)

I have a NSAttributedString to which I am adding a NSTextAttachment. The image is 50w by 50h but I'd like it to scale down to reflect the line height of the attributed string. I thought this would be done automatically but I guess not. I have looked at the UImage class reference but this image doesn't seem to be set in a UIImageView so no access to a frame property. Here's a screenshot of what I currently have:

enter image description here

In an ideal world, I would also like to implement a way to scale up the image based upon user input (such as increasing the font size). Any ideas on how to achieve this?

thx

edit 1

here's how I'm creating it:

0 投票
1 回答
182 浏览

ios - 通过 NSAttributedText 使用的图标分辨率

我通过以下方式在 NSAttributedString 中使用图标:

看起来它们有些像素化,但我不能 100% 确定,因为这是我第一次通过 NSAttributedString 使用图标。它看起来像这样:

在此处输入图像描述

原始图标如下所示:

在此处输入图像描述

这看起来好吗?或者我应该对我的图标做些什么来提高分辨率?

0 投票
5 回答
5270 浏览

objective-c - 带有文本附件和截断的属性字符串

我有一个带有图像的属性字符串(NSTextAttachment)。这没问题,但是我遇到了一个似乎无法解决的截断问题。

在示例中,假设字符串##是图像。所以我的字符串看起来像Hello world! ##. 在段落样式上设置尾部截断。

现在,如果空间受到限制,文本将被省略号截断(这是我想要的)。但不幸的是,图像也被截断了。

所以结果是这样的:

但我希望它看起来像:

也就是说,我希望图像附件不会被截断,它应该始终可见。

附件的原因是我希望图像始终位于字符串的末尾,因此当文本较短时,图像位于末尾,而当文本换行为多行时,我也希望图像位于结尾。尝试手动将图像“放在外面”是行不通的,因为文本不会被正确截断。

那么,有没有办法告诉NSAttributedString不要截断图像?

生成属性字符串的示例代码:

编辑:这其中的一个重要部分(在上面的描述中有点丢失)是这个解决方案需要适用于多行文本。