【问题标题】:iOS PencilKit not drawing on the PKCanvasViewiOS PencilKit 未在 PKCanvasView 上绘图
【发布时间】:2021-07-23 15:16:18
【问题描述】:

在 iOS 模拟器中,我按照基本步骤将 PencilKit 包含到我的视图控制器中。我在 UI 中获得了工具包,但无法绘制。不知道我在这里缺少什么。分享我尝试过的代码。

import UIKit
import PencilKit

class DrawingBoardViewController: UIViewController {

@IBOutlet weak var canvasView: PKCanvasView!

 override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)       
        setupCanvasView()
    }

 func setupCanvasView() {
                
        let toolPicker = PKToolPicker.init()
        toolPicker.setVisible(true, forFirstResponder: canvasView)
        toolPicker.addObserver(canvasView)
        toolPicker.isRulerActive = false
        canvasView.isOpaque = true
        canvasView.becomeFirstResponder()
        canvasView.drawingPolicy = .anyInput
        
    }
}

请让我知道我在这里缺少什么..

【问题讨论】:

    标签: ios swift swift5 toolkit pencilkit


    【解决方案1】:

    这应该可以解决您的问题:

    import UIKit
    import PencilKit
    
    class DrawingBoardViewController: UIViewController {
    
    @IBOutlet weak var canvasView: PKCanvasView!
    
    let toolPicker = PKToolPicker.init()
    
     override func viewDidAppear(_ animated: Bool) {
            super.viewDidAppear(animated)       
            setupCanvasView()
        }
    
     func setupCanvasView() {
                    
            toolPicker.setVisible(true, forFirstResponder: canvasView)
            toolPicker.addObserver(canvasView)
            toolPicker.isRulerActive = false
            canvasView.isOpaque = true
            canvasView.becomeFirstResponder()
            canvasView.drawingPolicy = .anyInput
            
        }
    }
    

    【讨论】:

    • 还是没有运气!!我正在显示工具选择器,并且PKCanvasViewDelegate 方法也被调用。但是看不到图纸
    • @DayaKevin 仅供参考,上面的代码在我的环境中执行,我可以在模拟器中看到选择器和绘图(iOS 14.5,iPhone 12 mini 用于比较)。它肯定需要 toolPicker 是 ViewController 上的一个实例,才能在 toolPicker 中更改笔。 .xib 文件或情节提要的设置方式可能存在问题。如果可以,您可以在 Github 或其他地方发布您的“半工作”Xcode 项目的摘录吗?我可以去那里看看。
    猜你喜欢
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多