我是xcode和swift的初学者。
我有一对夫妇的字段和一个图像在我的viewcontroller和我想打印这个字段的内容...
我的代码来自一个教程:
@IBAction func print(sender: AnyObject) {
// 1
let printController = UIPrintInteractionController.sharedPrintController()
// 2
let printInfo = UIPrintInfo(dictionary:nil)
printInfo.outputType = UIPrintInfoOutputType.General
printInfo.jobName = "Rapport"
printController.printInfo = printInfo
// 3
let formatter = UIMarkupTextPrintFormatter(markupText: itemName.text!)
formatter.contentInsets = UIEdgeInsets(top: 72, left: 72, bottom: 72, right: 72)
printController.printFormatter = formatter
// 4
printController.presentAnimated(true, completionHandler: nil)
}
在这个唯一的文本域中工作得很好。但是我如何打印它的其余部分呢?
2条答案
按热度按时间4ngedf3f1#
你使用一个格式化程序发送给
printController
,并给他发送一个要打印的标记文本。这个函数接受一个字符串,所以你可以创建一个包含所有文本的自定义字符串,然后调用这个函数,如下所示:我添加了“\n”以开始新行,但是您当然可以按照您想要的方式设置它的格式。我不确定“\n”是否会创建新行(因为这是标记,也许您需要
<br />
),您必须尝试并查看。如果您想打印整个页面而不是某些部分,您也可以检查documentation for UIPrintInteractionController,看看还有哪些其他选项(
printingItem
、printingItems
、printPageRenderer
)。kkih6yb82#
或者,如果您有一个包含多个回车符的长字符串,\n则在将该字符串提交给UIMarkupTextPrintFormatter之前,您需要先将所有出现的字符串替换为br /。以下是Swift 4的示例: