gpt4 book ai didi

swift - 将 SwiftUI 颜色转换为 UIColor

转载 作者:行者123 更新时间:2023-12-03 09:23:32 26 4
gpt4 key购买 nike

我想将 SwiftUI View 颜色转换为 UIKit UIcolor 组件。我尝试了几种方法,也引用了 StackOverflow 已经给出的答案,但它们没有用。一些用户在这些帖子中也提到了这一点。我已经完成了以下由 turingtested 提出的代码

但这不起作用。任何建议或帮助都非常感谢。

fileprivate extension Color {
func uiColor() -> UIColor {
let components = self.components()
return UIColor(red: components.r, green: components.g, blue: components.b, alpha: components.a)
}
private func components() -> (r: CGFloat, g: CGFloat, b: CGFloat, a: CGFloat) {
let scanner = Scanner(string: self.description.trimmingCharacters(in: CharacterSet.alphanumerics.inverted))
var hexNumber: UInt64 = 0
var r: CGFloat = 0.0, g: CGFloat = 0.0, b: CGFloat = 0.0, a: CGFloat = 0.0
let result = scanner.scanHexInt64(&hexNumber)
if result {
r = CGFloat((hexNumber & 0xff000000) >> 24) / 255
g = CGFloat((hexNumber & 0x00ff0000) >> 16) / 255
b = CGFloat((hexNumber & 0x0000ff00) >> 8) / 255
a = CGFloat(hexNumber & 0x000000ff) / 255
}
return (r, g, b, a)
}
}

最佳答案

如果您正在寻找最新的答案:
从 iOS 14 开始,UIColor类有一个初始化器,它采用 SwiftUI 颜色作为参数:UIColor(Color.red) .

关于swift - 将 SwiftUI 颜色转换为 UIColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59681373/

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