Swift3 需要支持Swift 3上的苹果铅笔/手指绘图

Swift3 需要支持Swift 3上的苹果铅笔/手指绘图,swift3,core-graphics,swift2.3,ios10.3,xcode8,Swift3,Core Graphics,Swift2.3,Ios10.3,Xcode8,我正在使用swift 2.3和(苹果铅笔示例应用程序) 其中,在绘图时 我能够在钢笔/铅笔/刷子/橡皮擦-厚度和颜色之间切换,并且相应地应用相同的颜色 参考: 现在我升级到swift 3.0 在哪个图纸中 在笔/铅笔/画笔/橡皮擦-厚度和颜色之间切换时,最后拾取的一个应用于所有 参考: 还尝试了苹果最新的API。结果是一样的 请任何人告诉我这个问题的确切解决办法。啊哈…经过长时间的尝试…找到了解决办法 在CanvasView.swift上只有一行 override func draw(_ rec

我正在使用swift 2.3和(苹果铅笔示例应用程序)

其中,在绘图时

我能够在钢笔/铅笔/刷子/橡皮擦-厚度和颜色之间切换,并且相应地应用相同的颜色

参考:

现在我升级到swift 3.0

在哪个图纸中

在笔/铅笔/画笔/橡皮擦-厚度和颜色之间切换时,最后拾取的一个应用于所有

参考:

还尝试了苹果最新的API。结果是一样的


请任何人告诉我这个问题的确切解决办法。

啊哈…经过长时间的尝试…找到了解决办法

在CanvasView.swift上只有一行

override func draw(_ rect: CGRect) {
        let context = UIGraphicsGetCurrentContext()!

        context.setLineCap(.round)
needsFullRedraw=false//添加了此行

或者只是评论了下面的一行

/*if (needsFullRedraw) {
                setFrozenImageNeedsUpdate()
                frozenContext.clear(bounds)
               for array in [finishedLines,lines] {
                    for line in array {
                        line.drawCommitedPointsInContext(frozenContext, isDebuggingEnabled: isDebuggingEnabled, usePreciseLocation: usePreciseLocations)

                    }

                }
                needsFullRedraw = false
            }*/
/*if (needsFullRedraw) {
                setFrozenImageNeedsUpdate()
                frozenContext.clear(bounds)
               for array in [finishedLines,lines] {
                    for line in array {
                        line.drawCommitedPointsInContext(frozenContext, isDebuggingEnabled: isDebuggingEnabled, usePreciseLocation: usePreciseLocations)

                    }

                }
                needsFullRedraw = false
            }*/