首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIPrintPageRenderer paperRect始终返回0x0

UIPrintPageRenderer paperRect始终返回0x0
EN

Stack Overflow用户
提问于 2012-08-23 01:34:21
回答 1查看 949关注 0票数 0

我已经在我的iOS应用程序中设置了打印,它工作得很好。但是,我是根据用户对页面大小的偏好来生成文档的。我希望我可以从打印机系统中检测到页面大小,然后使用它。UIPrintPageRenderer的paperRect属性似乎正是我所需要的,但它总是为我返回大小0x0。我是不是遗漏了什么?代码如下:

代码语言:javascript
复制
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。显然,它是稍后在打印过程中通过委托函数更新的,但我没有进一步探讨这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-21 14:57:22

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12078461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档