带有附件的NSAttributedString的NSTextField的奇怪行为

时间:2011-12-14 04:35:34

标签: objective-c macos cocoa nsattributedstring

当我通过NSAttributedString将图像附件放在NSTextField中时,当我单击它或更改它时,图像会消失。怎么了?

NSTextAttachment* attachment = [[NSTextAttachment alloc] init];
NSImage *symbolImage = [NSImage imageNamed:@"enabled.png"];
NSLog(@"%@", symbolImage);
NSTextAttachmentCell *anAttachmentCell = [[NSTextAttachmentCell
                                           alloc] initImageCell:symbolImage];
[attachment setAttachmentCell:anAttachmentCell];
return [NSAttributedString attributedStringWithAttachment:attachment];

2 个答案:

答案 0 :(得分:2)

enter image description here

实际上,修复非常简单。只需启用" Rich Text"到需要显示图像的区域。

插入文字附件后,即使将焦点更改为其他视图,图像仍会保留在那里。

答案 1 :(得分:0)

billibala的上述答案也可以用代码实现。 对于NSTextField

allowsEditingTextAttributes = true