已经写了UIPrintInteractionControllerDelegate
,我想单位printInteractionController:choosePaper:
如何创建一个UIPrintPaper测试UIPrintInteractionControllerDelegate
它的声明测试其纸张选择功能:
optional func printInteractionController(_ printInteractionController: UIPrintInteractionController, choosePaper paperList: [UIPrintPaper]) -> UIPrintPaper
这是调用它的一个简单的事情使用预定义的UIPrintPaper值并检查输出。但是我无法创建UIPrintPaper实例。这里是UIPrintPaper是如何宣称:
NS_CLASS_AVAILABLE_IOS(4_2)__TVOS_PROHIBITED @interface UIPrintPaper : NSObject
+ (UIPrintPaper *)bestPaperForPageSize:(CGSize)contentSize withPapersFromArray:(NSArray<UIPrintPaper *> *)paperList; // for use by delegate. pass in list
@property(readonly) CGSize paperSize;
@property(readonly) CGRect printableRect;
@end
的纸型和printableRect属性是只读的并且没有初始化定义它们。我如何创建UIPrintPaper来为我的测试表示不同的纸张尺寸? (A4,美国信纸,4x6的...)
这是同样的问题,我如何创建UIPrintPaper来调用此方法? (它的withPapersFromArray:是一个UIPrintPaper的数组) – Clafou
@Clafou编辑我的答案,我想你想采取的方法。 – JAL
这就是我的实现,但事实证明,bestPaperForPageSize并不总是满足你的需求。因此,我需要编写这些单元测试(也可能是为了实现我自己的逻辑 - 将会看到我可以编写单元测试)。我的问题是关于创建UIPrintPaper,以便我可以对此进行单元测试。 – Clafou