【问题标题】:About iOS14 of PencilKit关于 PencilKit 的 iOS14
【发布时间】:2020-11-13 05:37:24
【问题描述】:

环境 ・MacOS:10.15.7 ・Xcode:12.1 ・iOS:14.1

我正在尝试使用 PencilKit,但无法显示 PKToolPicker。我将我的代码设置如下:

if let window = UIApplication.shared.windows.first {
    if let toolPicker = PKToolPicker.shared(for: window) {
        toolPicker.addObserver(canvas)
        toolPicker.setVisible(true, forFirstResponder: canvas)
        canvas.becomeFirstResponder()
    }
}

我在这里收到警告:

'shared(for:)' 在 iOS 14.0 中已弃用:改为创建单个实例。

所以我就这样改了

let toolPicker = PKToolPicker.init()
toolPicker.addObserver(canvas)
toolPicker.setVisible(true, forFirstResponder: canvas)
canvas.becomeFirstResponder()

毕竟PKToolPicker没有显示

我的目标是展示这样的PKToolPicker

请给我建议

【问题讨论】:

    标签: ios14 xcode12 pencilkit


    【解决方案1】:

    首先在类级别为 ViewController 声明一个单独的 toolPicker 实例。这是能够在 toolPicker 中更换笔所必需的:

    let toolPicker = PKToolPicker()
    

    然后,在 viewWillAppear(_ :) 中

    toolPicker.addObserver(canvas)
    toolPicker.setVisible(true, forFirstResponder: canvas)
    canvas.becomeFirstResponder()
    

    【讨论】:

      【解决方案2】:

      我是这样解决的

      toolPicker.addObserver(canvas)
      toolPicker.setVisible(true, forFirstResponder: canvas)
      canvas.becomeFirstResponder()
      

      【讨论】:

      • 看不出你的旧代码和新代码有什么区别。 !!能否请您详细说明一下,以便其他人理解。
      • @DayaKevin 将 toolPicker 的单个实例添加到 ViewController:** let toolPicker = PKToolPicker.init() **
      • @vmanjz 根据指南,我添加了工具选择器的单个实例。仍然没有运气。请在此链接上找到我的代码stackoverflow.com/questions/68501442/…
      • @DayaKevin 不要在函数中声明一个常量 toolPicker,而是在靠近顶部的 IBOutlet 下方声明它!干杯!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-06
      • 2019-11-05
      • 1970-01-01
      相关资源
      最近更新 更多