2017-10-19 7 views
1

私はを使用して、UIWebViewのhtmlをAirPrintプリンタに直接印刷しています。 UIPrinterに、最初のページのみを印刷するように伝えたいと思います。これどうやってするの?コードは、iOSの9.0に適合するものでなければならないswip 3でUIPrintInteractionController.printを使用して印刷するページ数を設定する方法は?

let printer = UIPrinter(url: myURL) 
let printerController = UIPrintInteractionController.shared 

let printInfo = UIPrintInfo(dictionary: nil) 
printInfo.jobName = "My print job name" 
printInfo.outputType = .general 
printerController.printInfo = printInfo 

let printPageRenderer = MyCustomPageRenderer() 
printPageRenderer.addPrintFormatter(myWebView.viewPrintFormatter(), startingAtPageAt: 0) 

printerController.printPageRenderer = printPageRenderer 
printerController.print(to: printer!) { (printerController, success, error) in 

} 

は、ここに私のコードウィッヒプリントすべてのページです。

答えて

0

あなたがオーバーライドすることができますUIPrintPageRenderernumberOfPagesプロパティがあります。または単に設定することもできます。UIPrintInteractionControllerプロパティshowsPageRangetrueです。複数の基準については

このリンクを参照してください使用 - https://developer.apple.com/documentation/uikit/uiprintpagerenderer/1621631-numberofpages

+0

[OK]を、しかしnumberOfPagesは読み取り専用であるため、どのように上書きしますか? –

+0

showsPageRange = trueを試しましたか? ? –

+0

はい、印刷方法ではダイアログが表示されないので、プロパティはこの場合は役に立たないのですか? –

関連する問題