【发布时间】:2012-12-14 12:21:33
【问题描述】:
我正在尝试打印(以 PDF 格式)未在屏幕上显示且没有父视图的 NSView。
为了显示打印对话框,我在我的应用代理的applicationDidFinishLaunching: 中添加了以下行:
[myPrintView print:self];
在打印对话框的预览中,子视图自下而上显示。首先显示底部子视图,然后是应该在底部视图之上的子视图等,最后显示顶部子视图。
当我将打印视图添加到滚动视图,使其在打印调用之前显示在屏幕上时,滚动视图和打印预览中的顺序都是正确的。
self.scrollView.documentView = myPrintView;
我将打印视图更改为不翻转,它在两种情况下都以正确的顺序显示,但它放在了纸的底部。
我该如何解决这个问题?保持翻转并解决错误的顺序,还是保持翻转 = NO 并使用不同的方法将其粘贴到页面顶部?
我已将我的项目添加到 https://bitbucket.org/bpeiren/print-experiments,以防万一。
【问题讨论】:
-
看起来这是布局问题,而不是打印顺序问题。如何将视图添加到打印视图?你打电话给
-setFrame:吗?自动布局是否开启? -
是的,我正在使用自动布局。所有子视图都添加到 XIB 中,除了将 printview 本身添加到父视图以进行测试。我进行了搜索以确定但我无法手动设置框架。
标签: objective-c cocoa autolayout