Swift UIView、PDF化、複数枚、保存、PKCanvasView入れる

UIView、PDF化、複数枚、保存、PKCanvasView入れる

PKCanvasViewを生成、書込みデータをPKDrawingで復元、UIView.addSubview()、PDF化しても反映されない。
試しに、画面に表示すると、表示される。
これに1時間悩まされた。
出来るのかもしれないが、現状解決法は見つけられず。
別の解決方法は、PKDrawing.image(from:scale:)で画像化、UIView.addSubview()する。
scaleを正しく設定しないと粗い画像になる。
今回は3.0に設定。

開発しているアプリからの抜粋

    func createPKCanvasView(view: UIView, dateComponentsWeek: [DateComponents]) {
        if let page = Pages.select(year: dateComponentsWeek[0].year!, week: dateComponentsWeek[0].weekOfYear!) {
            do {
                print(page.count)
                let drawaing = try PKDrawing(data: page).image(from: CGRect(x: 0.0, y: 0.0, width: 1366.0, height: 1024.0), scale: 3.0)
                let image = UIImageView(frame: CGRect(x: 0.0, y: 0.0, width: 1366.0, height: 1024.0))
                image.image = drawaing
                view.addSubview(image)
            }
            catch {
                let nserror = error as NSError
                fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
            }
        }
        else {
            print("select no page")
        }
    }

Swift

Posted by shi-n