ios – NSTextAttachment图像未在NSTextView中显示(但在UITextView中)?

我在获取NSTextAttachment图像以在OS X应用程序的NSTextView中工作时遇到问题.

NSTextAttachment的图像根本不显示.但是,它似乎仍然设置正确.因为复制NSTextView的内容并将其粘贴回例如TextEdit.app,粘贴的文本正确包含图像.

这是一个重现这个问题的最小游乐场:

import Cocoa

let img = NSImage(named: "Checked")

let textView = NSTextView(frame: NSMakeRect(0,254,64))

let attrstr = NSMutableAttributedString(string: "Test")

let attch = NSTextAttachment()
attch.image = img

attrstr.appendAttributedString(NSAttributedString(attachment: attch))

textView.textStorage!.setAttributedString(attrstr)

textView

enter image description here

预期产量:

enter image description here

对于iOS,所以使用UIKit而不是Cocoa,它可以很好地工作:

import UIKit

let img = UIImage(named: "Checked")

let textView = UITextView(frame: CGRectMake(0.0,0.0,200.0,44.0))

let attrstr = NSMutableAttributedString(string: "Test")

let attch = NSTextAttachment()
attch.image = img

attrstr.appendAttributedString(NSAttributedString(attachment: attch))

textView.attributedText = attrstr

textView

enter image description here

我正在使用XCode 7.两个游乐场都可以下载here.

任何想法都非常欢迎,提前致谢!

解决方法

var thumbnailImage: NSImage? = // some image
var attachmentCell: NSTextAttachmentCell = NSTextAttachmentCell.initimageCell(thumbnailImage!)
var attachment: NSTextAttachment = NSTextAttachment()
attachment.attachmentCell = attachmentCell
var attrString: NSAttributedString = NSAttributedString.attributedStringWithAttachment(attachment)
self.textView.textStorage().appendAttributedString(attrString)

相关文章

在有效期内的苹果开发者账号(类型为个人或者公司账号)。还...
Appuploader官网--IOS ipa上传发布工具,证书制作工具跨平台...
苹果在9月13号凌晨(北京时间)发布 iOS 16,该系统的设备可...
计算机图形学--OpenGL递归实现光线追踪
Xcode 14打出来的包在低版本系统运行时会崩溃,报错信息是Li...