Проблема AirPrint в темном режиме - PullRequest
0 голосов
/ 29 сентября 2019

У меня проблема с темным режимом в UIPrintInteractionController!

Я создаю конкретное представление (которое содержит вид прокрутки и вид таблицы). Цвет фона этих представлений принудительно установлен на .white

Вид правильно отображается на экране. но результат на предпросмотре показан черным фоном.

enter image description here

func printView(title : String, view : UIView) {

    let printInfo = UIPrintInfo(dictionary:nil)
    printInfo.outputType = UIPrintInfo.OutputType.general
    printInfo.jobName = title
    printInfo.orientation = UIPrintInfo.Orientation.landscape

    // Set up print controller
    let printController = UIPrintInteractionController.shared
    printController.printInfo = printInfo

    // Assign a UIImage version of my UIView as a printing item
    printController.printingItem = view.toImage()

    // Do it
    printController.present(from: self.view.frame, in: view, animated: true) { (_, isPrinted, error) in
        if error == nil
        {
            if isPrinted
            {
                print ("Printed Successfully")
                self.dismiss(animated: true, completion: nil)
            }   else
            {
                print ("Printing failed")
                self.dismiss(animated: true, completion: nil)
            }

        }
    }
}

override func viewWillAppear(_ animated: Bool) {

    super.viewWillAppear(animated)

    self.view.backgroundColor = .white
    self.scrollView.backgroundColor = .white
    self.tableView.backgroundColor = .white
//...
}
...