Macos 打印时NSTextView限制页面宽度
我在理解如何获取Macos 打印时NSTextView限制页面宽度,macos,cocoa,nstextview,text-rendering,Macos,Cocoa,Nstextview,Text Rendering,我在理解如何获取NSTextView以限制显示和打印时的页面宽度时遇到问题。本质上,我希望实现的是,一旦包含文本视图的窗口的大小调整到某个点之后,文本视图将“包装”其内容。TextEdit.app基本上实现了我希望实现的目标: 然而,在我的应用程序中,我根本不了解这种行为,尤其是与嵌入文本视图中的图像相关的行为。例如,当我嵌入一个大图像时,如果窗口太小,图像将被简单地切断,但当窗口大小调整到足够大时,它将以全尺寸呈现,但文本视图不会将内容限制到页面的宽度: 当然,这会在打印时产生一些奇怪的
NSTextView
以限制显示和打印时的页面宽度时遇到问题。本质上,我希望实现的是,一旦包含文本视图的窗口的大小调整到某个点之后,文本视图将“包装”其内容。TextEdit.app基本上实现了我希望实现的目标:
然而,在我的应用程序中,我根本不了解这种行为,尤其是与嵌入文本视图中的图像相关的行为。例如,当我嵌入一个大图像时,如果窗口太小,图像将被简单地切断,但当窗口大小调整到足够大时,它将以全尺寸呈现,但文本视图不会将内容限制到页面的宽度:
当然,这会在打印时产生一些奇怪的结果,例如,图像被简单地切断:
当调整窗口大小时,很明显(对于居中、右对齐或对齐的文本),文本视图没有将其宽度限制在一定的厘米数,如标尺所示
打印时如何限制NSTextView
的宽度?我不关心页边距或在UI中将其呈现为多个页面(尽管我不介意),但我希望根据页面设置面板中设置的大小,确保打印时文本视图的内容不超过页面的宽度。(为了澄清:用户界面可以有任意宽度的文本视图,我只要求在打印时,它水平适合页面,因此没有任何内容被截断。)
我查阅了整个文档,并尝试了几件事,例如
NSText
的maxSize
值,但都没有用。我通过查看苹果如何使用TextEdit来解决这个问题,因为它的PrintingTextView.m
文件就是我所看到的,而且很容易集成到项目中