首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么PKDrawing() != PKDrawing()?(PencilKit)

为什么PKDrawing() != PKDrawing()?(PencilKit)
EN

Stack Overflow用户
提问于 2019-08-20 01:06:46
回答 2查看 434关注 0票数 2

根据文档,PKDrawing符合可等价物。但是,如果将2幅空白图与==进行比较,则返回false。我通过反馈应用程序提交了一个bug,但我在这里发布,希望我错过了一些东西,或者其他人也会提交一个bug报告,这样就可以解决这个问题。我需要检查一个PKCanvasView是否有任何内容,并且由于PKDrawing是不透明的,所以我们不能查询笔画或其他数据。鉴于api有限,检查的最佳方法似乎如下所示:

代码语言:javascript
复制
extension PKCanvasView {
    func isEmpty() -> Bool {
      return self.drawing == PKDrawing()
    }
}

这将返回false,尽管不管canvasView.drawing是什么。甚至,PKDrawing() == PKDrawing()返回false。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-22 14:20:28

在这种情况下,您可以检查绘图对象的bounds。iOS 14提供了此绘图所包含的strokes

代码语言:javascript
复制
extension PKDrawing {
    
    func isEmpty() -> Bool {

        if #available(iOS 14.0, *) {
            return strokes.isEmpty
        } else {
            return drawing.bounds.isEmpty
        }
    }
}
票数 2
EN

Stack Overflow用户

发布于 2020-06-12 19:46:47

这是我检查绘图是否为空白的方法:

代码语言:javascript
复制
extension PKDrawing {
    var isBlank: Bool {
        get {
             return self.bounds == CGRect(origin: CGPoint(x: CGFloat.infinity, y: CGFloat.infinity), size: .zero)
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57565522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档