gpt4 book ai didi

objective-c - macOS Sierra 中的 NSPrintInfo 已更改

转载 作者:行者123 更新时间:2023-12-03 16:40:24 26 4
gpt4 key购买 nike

我有一个源自 Xcode Cocoa 应用程序模板的应用程序,它可以在 El Capitan 上正确打印,但在 Sierra 上引入了厘米边距并带有阴影框。将边距值(在 viewController 的 viewDidLoad 中的共享实例中)更改为更大的正值会使边距变大,但将它们减少到零仍然会留下边距和阴影框。该图像是打印预览的屏幕截图。我想回到让 PDF 占据整个打印页面的情况。查看“文件/打印”菜单显示它执行firstResponder print:。我应该尝试重写这个函数吗?但如果执行下面的代码没有任何效果,那又有什么用呢?

NSPrintInfo *PageDefaults = [NSPrintInfo sharedPrintInfo];
[PageDefaults setBottomMargin:0];
[PageDefaults setLeftMargin:0];
[PageDefaults setRightMargin:0];
[PageDefaults setTopMargin:1];

enter image description here

如果我将上面代码中的上边距和左边距增加到 120,打印结果将更改为: enter image description here

Storyboard显示我仅使用填充整个 viewController 场景的 PDF View 控件 enter image description here

最后,屏幕上的 viewController 显示出它应有的样子: enter image description here

最佳答案

10.10 中的

-[PDFView print:] 调用 printWithInfo:autoRotate:pageScaling:。在 10.12 中 -[PDFView print:] 调用 printOperationWithView: 并打印背景。解决方案:创建PDFView的子类,重写print:并调用printWithInfo:autoRotate:pageScaling:

- (void)print:(id)sender {
[self printWithInfo:[NSPrintInfo sharedPrintInfo] autoRotate:YES pageScaling:kPDFPrintPageScaleToFit];
}

关于objective-c - macOS Sierra 中的 NSPrintInfo 已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39862262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com