gpt4 book ai didi

swift3 - CGPath 在 Swift 3 中不起作用

转载 作者:行者123 更新时间:2023-12-04 16:38:52 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





1. CGPathMoveToPoint' is unavailable: Use move(to:transform:) 2. 'CGPathAddLineToPoint' is unavailable: Use addLine(to:transform:)

(1 个回答)


5年前关闭。




我正在更新 swift 3 的代码。我为在 swift 2 中工作的 spritekit 对象创建了一个自定义路径。但是,现在我收到一个编译器错误:

Nil is not compatible with expected argument type 'Unsafe Pointer CGAffineTransform'


let offsetX = player.size.width * player.anchorPoint.x
let offsetY = player.size.height * player.anchorPoint.y

let path = CGMutablePath()

CGPathMoveToPoint(path, nil, 10 - offsetX, 16 - offsetY)
CGPathAddLineToPoint(path, nil, 10 - offsetX, 0 - offsetY)
CGPathAddLineToPoint(path, nil, 24 - offsetX, 0 - offsetY)
CGPathAddLineToPoint(path, nil, 24 - offsetX, 16 - offsetY)
CGPathAddLineToPoint(path, nil, 24 - offsetX, 16 - offsetY)
CGPathAddLineToPoint(path, nil, 28 - offsetX, 40 - offsetY)
CGPathAddLineToPoint(path, nil, 18 - offsetX, 46 - offsetY)
CGPathAddLineToPoint(path, nil, 6 - offsetX, 36 - offsetY)
CGPathAddLineToPoint(path, nil, 6 - offsetX, 18 - offsetY)



path.closeSubpath()

错误是在添加到路径时在第二个参数中传递 nil 。我试图传入一个不安全的指针,如下所示:
var tr = CGAffineTransform.identity
CGPathMoveToPoint(path, &tr, 10 - offsetX, 16 - offsetY)
....

但随后又出现了另一个奇怪的错误。

CGPathMoveToPoint is unavailable. Use move(to: transform:)



但是,没有参数名称为 to 的移动函数。然而,有一个 move(toParent: ) 。

最佳答案

大多数语法在 Swift 3 中都发生了变化,但它们没有删除任何 API 方法(如 CGPathMoveToPoint),它只是像下面那样重命名。

let path = CGMutablePath()
path.move(to: CGPoint(x: 10.0, y: 10.0))
path.addLine(to: CGPoint(x: 10.0, y: 10.0))

关于swift3 - CGPath 在 Swift 3 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39523884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com