gpt4 book ai didi

swift3 - swift 3 的 CGGradient 问题

转载 作者:行者123 更新时间:2023-12-04 13:05:48 24 4
gpt4 key购买 nike

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





Converting Swift array to CFArray in Xcode 8 (Swift 3)

(1 个回答)


5年前关闭。




只是在将我的代码从 swift 2.3 转换为 3 的过程中。在旧代码中,我通过以下代码创建了一个渐变:

        let colours:CFArrayRef = [tColour.CGColor, bColour.CGColor]
let colorSpace = CGColorSpaceCreateDeviceRGB()
let gradient = CGGradientCreateWithColors(colorSpace, colours, nil)

当 Xcode 8 转换代码时,它将其更改为以下内容:
    let colours:CFArray = [tColour.cgColor, bColour.cgColor]
let colorSpace = CGColorSpaceCreateDeviceRGB()
let gradient = CGGradient(colorsSpace: colorSpace, colors: colours, locations: nil)

但是代码会产生以下错误:

Contextual type 'CFArray' cannot be used with array literal



任何人都可以建议如何正确转换代码。
感谢
雷萨

最佳答案

转换类型

let colours = [tColour.cgColor, bColour.cgColor] as CFArray
let colorSpace = CGColorSpaceCreateDeviceRGB()
let gradient = CGGradient(colorsSpace: colorSpace, colors: colours , locations: nil)

关于swift3 - swift 3 的 CGGradient 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39514375/

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