4

在 iPad 打印预览中不显示 UILabel。当我放大打印预览时,它会正确显示。当我将 UILabelopaque属性更改为true它时,它将 UILabel 的背景更改为黑色并显示在打印预览中。这是我用来显示打印预览的代码。

let printController = UIPrintInteractionController.shared
let printInfo = UIPrintInfo(dictionary:nil)
printInfo.outputType = UIPrintInfoOutputType.general
printInfo.jobName = "Print"
printInfo.duplex = UIPrintInfoDuplex.none
printInfo.orientation = UIPrintInfoOrientation.portrait

printController.printPageRenderer = nil
printController.printingItems = nil
printController.printingItem = printUrl

printController.printInfo = printInfo
printController.showsNumberOfCopies = true
printController.showsPaperSelectionForLoadedPapers = true

printController.present(animated: true, completionHandler: nil)

当我更改它时UIPrintInfoOutputType.generalUIPrintInfoOutputType.grayscale它会显示 UILabel,但我需要彩色打印。灰度仅适用于黑白打印。

4

1 回答 1

0

我尝试了很多方法来解决我的问题,最后我找到了解决方案。

我将opaqueUILabel 的属性更改为true,然后将 UILabel 的背景颜色更改为白色。问题是, UILabel 的背景颜色是Default。因此,在打印预览中,UILabel 的背景显示为黑色。如果 UILabel 的背景颜色是默认清除颜色,它将在打印预览中显示为黑色。

printLabel.isOpaque = true
printLabel.backgroundColor = UIColor.white //Not Default or Clear Color
于 2017-06-27T17:10:03.013 回答