gpt4 book ai didi

ios - UIPrintPageRenderer paperRect 始终返回 0x0

转载 作者:行者123 更新时间:2023-11-29 04:27:57 25 4
gpt4 key购买 nike

我已经在我的 iOS 应用程序中设置了打印,并且运行良好。但是,我是根据用户对页面大小的偏好来生成文档的。我希望我可以从打印机系统检测页面大小并使用它。 UIPrintPageRenderer 的 paperRect 属性似乎正是我所需要的,但它总是为我返回 0x0 的大小。我错过了什么吗?代码如下:

UIPrintInteractionController *printController = [UIPrintInteractionController sharedPrintController];
UIPrintPageRenderer *pageRenderer = [[UIPrintPageRenderer alloc] init];
printController.printPageRenderer = pageRenderer;
NSLog(@"paper size: %f x %f", pageRenderer.paperRect.size.width, pageRenderer.paperRect.size.height);

当 iOS 4.2 发布时,我尝试了这个,当我得到 0x0 时,我认为这是第一个版本的错误,并实现了用户首选项。但现在我在 iOS 5.1 中看到同样的问题,我想知道我是否做错了什么。

当此代码运行时,用户尚未选择打印机,因此我希望 paperRect 返回默认纸张尺寸。如果它在用户选择打印机后再次运行(例如,打印第二个文档时),我希望它返回为该打印机选择的纸张尺寸。但这只是我的期望...documentation没有解释其值何时或如何设置。

了解其他人是否得到相同的结果或者我是否需要做其他事情来获得真实的页面大小会很有帮助。

附言我还查看了 UIPrintInteractionController 的 paperSize 属性,当包含在上面的代码中时,它也返回 0x0。显然它稍后在打印过程中由委托(delegate)函数更新,但我没有进一步探索。

最佳答案

paperRect 和 printableRect 旨在用于 numberOfPages 中来计算页数。在用户触摸 UIPrintInteractionController 中的“打印”按钮之前,UIKit 不会为 paperRect 和 printableRect 设置任何值。

关于ios - UIPrintPageRenderer paperRect 始终返回 0x0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12078461/

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