如何控制 NSTextView 中图像附件的大小

How to control the size of image attachments in a NSTextView

默认情况下,在 NSTextView 中,图像附件以其实际分辨率显示。对于大图像,这会导致只有一小部分图像显示在视图中。这看起来不太好,用户必须滚动很多次才能在图像后输入文本。

例如,在下面的 window 中,您无法在文本视图中了解有关图像的太多信息。

所以问题是:如何缩小图像附件,使它们适合 NSTextView?

您可以在 Internet 上找到一些基于子类化 NSTextAttachmentCell 的解决方案,但是如果这样做,您会失去一些 免费 提供的良好行为] 通过 NSTextView,就像在附加图像中创建注释一样。

实际上有一个更简单的解决方案:使用一个名为 defaultAttachmentScalingNSLayoutManager 属性 来完成我们想要的。

在您的代码中,将 属性 设置为:

myTextView.layoutManager.defaultAttachmentScaling = NSImageScaleProportionallyDown;

就是这样:现在可以缩放大图像以匹配文本视图的宽度。

关于这个属性的详细信息,建议阅读头文件中的注释NSLayoutManager.h

iOS 开发人员请注意:不幸的是,此 属性 在 iOS 上不可用。