Objective c 仅打印视图不正确地布局子视图
我正在尝试打印(到PDF)屏幕上未显示且没有父视图的NSView 要显示打印对话框,我已将以下行添加到我的应用程序代理的Objective c 仅打印视图不正确地布局子视图,objective-c,cocoa,autolayout,Objective C,Cocoa,Autolayout,我正在尝试打印(到PDF)屏幕上未显示且没有父视图的NSView 要显示打印对话框,我已将以下行添加到我的应用程序代理的applicationdFinishLaunching:: [myPrintView print:self]; 在“打印”对话框的预览中,将自底向上显示子视图。首先显示底部子视图,然后显示应位于底部视图上方的子视图等,最后显示顶部子视图 当我将打印视图添加到滚动视图中,使其在打印调用之前显示在屏幕上时,滚动视图和打印预览中的顺序都是正确的 self.scrollView.d
applicationdFinishLaunching:
:
[myPrintView print:self];
在“打印”对话框的预览中,将自底向上显示子视图。首先显示底部子视图,然后显示应位于底部视图上方的子视图等,最后显示顶部子视图
当我将打印视图添加到滚动视图中,使其在打印调用之前显示在屏幕上时,滚动视图和打印预览中的顺序都是正确的
self.scrollView.documentView = myPrintView;
我将打印视图更改为不翻转,在这两种情况下,它都以正确的顺序显示,但会放在纸的底部
我如何解决这个问题?保持翻转并解决错误的顺序,或者保持翻转=否并使用其他方法将其粘贴到页面顶部
我已将我的项目添加到中,以防有所帮助。听起来您的布局不明确,这意味着您的nib没有足够的约束来确保子视图显示在您想要的位置。您看到的两个布局都满足约束,因此您需要约束布局的更多方面,以便子视图正好显示在您想要的位置 从您发布的两张布局图片来看,我建议您尝试:
或者,您可以关闭此nib的自动布局。因为您的视图很简单,所以您可以使用弹簧和撑杆以旧的方式很容易地管理版面。看起来这是版面的问题,而不是打印顺序的问题。如何将视图添加到打印视图中?您是否调用
-setFrame:
?是否打开自动布局?是,我正在使用自动布局。所有子视图都添加到XIB中,除了将printview本身添加到父视图以进行测试之外。我做了一个搜索以确定,但我没有任何地方可以手动设置帧。