核心图形 – Xcode 8 Beta 4 CGColor.components不可用

核心图形 – Xcode 8 Beta 4 CGColor.components不可用,第1张

概述虽然下面的代码以前工作过,但它已停止在 Xcode 8 Beta 4中工作,可能是因为组件返回的是一个非常非 Swift-y的C系列浮点数,并且已被删除.错误是秃头 – “’组件’不可用” – 如果有的话,我找不到取代它的东西.有谁知道如何产生相同的功能? public var cgColour: CGColor { get { return CGColor(red: se @H_403_1@ 虽然下面的代码以前工作过,但它已停止在 Xcode 8 Beta 4中工作,可能是因为组件返回的是一个非常非 Swift-y的C系列浮点数,并且已被删除.错误是秃头 – “’组件’不可用” – 如果有的话,我找不到取代它的东西.有谁知道如何产生相同的功能?

public var cgColour: CGcolor {    get {        return CGcolor(red: self.colourRed,green: self.colourGreen,blue: self.colourBlue,Alpha: self.colourAlpha)    }    set {        let comps = newValue.components // No longer available        self.colourRed = (comps?[0])!        self.colourGreen = (comps?[1])!        self.colourBlue = (comps?[2])!        self.colourAlpha = (comps?[3])!    }}

更新
@Hamish的答案有效,但我最初的意图是不使用UIcolor或NScolor,以便我的代码可以在iOS和&苹果系统.我最终做的是这个……

#if os(iOS)import UIKit#elseif os(OSX)import Cocoa#endifextension CGcolor {    var components: (red: CGfloat,green: CGfloat,blue: CGfloat,Alpha: CGfloat) {        var r: CGfloat = 0        var g: CGfloat = 0        var b: CGfloat = 0        var a: CGfloat = 0        #if os(iOS)            UIcolor(cgcolor: self).getRed(&r,green: &g,blue: &b,Alpha: &a)        #elseif os(OSX)            NScolor(cgcolor: self)?.getRed(&r,Alpha: &a)        #endif        return (r,g,b,a)    }}// Playground code to test...#if os(iOS)let rgba = UIcolor.brown.cgcolor.components //(0.6,0.4,0.2,1.0)#elseif os(OSX)let rgba = NScolor.brown.cgcolor.components //(0.6,1.0)#endif

……这是一个很好的例子 – 有没有人得到更好的答案?

解决方法 这似乎是一个过渡性的beta问题.

Github上的Swift repo包含一个extensive SDK overlay for CoreGraphics,包括一个新版本的CGcolor.components,其返回类型是Swift数组而不是UnsafePointer.它们如何使SDK覆盖工作的部分工作是API notes,它将一些底层C调用映射到双下划线的Swift方法,以便覆盖可以将它们包装在更Swifty接口中.

看起来beta 4和beta 5编译器选择了API注释更改,但不包括包含新版本组件的覆盖.据推测,未来的测试版(或最终的Swift 3.0 / Xcode 8.0版本)将包含现在github上的所有内容.

总结

以上是内存溢出为你收集整理的核心图形 – Xcode 8 Beta 4 CGColor.components不可用全部内容,希望文章能够帮你解决核心图形 – Xcode 8 Beta 4 CGColor.components不可用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1209461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存