我想使用我的颜色资产从资产目录使用颜色文字。在UIKit中,我们可以直接使用颜色文字是否有任何方式使用颜色文字在SwiftUI我已经用UIColor参数搜索了Color初始化器,但没有找到
UIKit
UIColor
de90aj5v1#
**注意:**从Xcode 11 Beta 5开始,Color已经有了一个初始化器,不需要实现它。
Color
所以你可以像这样使用colorLiteral:
Color(#colorLiteral(red: 1, green: 0, blue: 0, alpha: 1))
或任何其他CGColor、UIColor(或macOS的NSColor):
CGColor
NSColor
Color(.red)
qlzsbp2j2#
我发现它有助于设计布局时,我需要找到和调整一个颜色迅速使用这种方法。每当我想在SwiftUI中使用拖放风格的颜色文字时,我都会这样做。稍后,我可以返回并将硬编码颜色添加到我的配色方案中,只需注解掉代码中显示所选颜色的RGB的颜色文字行“//”。
希望能帮上忙。
要使自动完成功能正常工作,请在代码中键入以下行。
#colorLiteral()
然后,代码将自动将文字放置在代码中,以便您进行选择。
7xzttuei3#
通过在init中传递字符串名称,可以使用在“资源目录”中定义的Color。所以,如果我在Assets.xcassets中有“背景”颜色:
init
Assets.xcassets
我将用途:
let backgroundColor = Color("Background")
或者,如果颜色是在另一个Bundle中定义的,您可以用途:
Bundle
Color(name: String, bundle: Bundle)
附注:似乎颜色文字不与资产颜色的工作
1aaf6o9v4#
实际上,您可以使用此隐藏协议来为Color提供与UIColor相同的颜色文字使用:
extension Color: _ExpressibleByColorLiteral { public init(_colorLiteralRed red: Float, green: Float, blue: Float, alpha: Float) { self = Color(.sRGB, red: Double(red), green: Double(green), blue: Double(blue), opacity: Double(alpha)) } }
现在可以对Color参数使用颜色文字。
ylamdve65#
是的,SwiftUI有color literal。color literal是color结构的参数。使用以下步骤:1.输入单词Colo2.从autocomplete中选择颜色文字3.现在,您可以单击颜色文字并选择color
Colo
zpjtge226#
在Xcode 13.4中使用Color Literal:开始输入:let myColor = Color(然后会出现一个图标。双击图标,颜色选择框就会出现。选择颜色后,一定要在颜色后面使用一个右括号。
wooyq4lh7#
你可以使用UIColor的getRed()方法来获取红色、绿色、蓝色和alpha分量,然后使用它们来创建Color对象。你甚至可以创建一个扩展来为你做这件事。
7条答案
按热度按时间de90aj5v1#
**注意:**从Xcode 11 Beta 5开始,
Color
已经有了一个初始化器,不需要实现它。所以你可以像这样使用colorLiteral:
或任何其他
CGColor
、UIColor
(或macOS的NSColor
):qlzsbp2j2#
Xcode Swift UI轻松拖放颜色
我发现它有助于设计布局时,我需要找到和调整一个颜色迅速使用这种方法。
每当我想在SwiftUI中使用拖放风格的颜色文字时,我都会这样做。
稍后,我可以返回并将硬编码颜色添加到我的配色方案中,只需注解掉代码中显示所选颜色的RGB的颜色文字行“//”。
希望能帮上忙。
更新:从Xcode 13.2.1开始
要使自动完成功能正常工作,请在代码中键入以下行。
然后,代码将自动将文字放置在代码中,以便您进行选择。
7xzttuei3#
通过在
init
中传递字符串名称,可以使用在“资源目录”中定义的Color
。所以,如果我在
Assets.xcassets
中有“背景”颜色:我将用途:
或者,如果颜色是在另一个
Bundle
中定义的,您可以用途:附注:似乎颜色文字不与资产颜色的工作
1aaf6o9v4#
实际上,您可以使用此隐藏协议来为
Color
提供与UIColor
相同的颜色文字使用:现在可以对
Color
参数使用颜色文字。ylamdve65#
是的,SwiftUI有color literal。color literal是color结构的参数。使用以下步骤:
1.输入单词
Colo
2.从autocomplete
中选择颜色文字
3.现在,您可以单击颜色文字并选择color
zpjtge226#
在Xcode 13.4中使用Color Literal:开始输入:let myColor = Color(
然后会出现一个图标。双击图标,颜色选择框就会出现。选择颜色后,一定要在颜色后面使用一个右括号。
wooyq4lh7#
你可以使用UIColor的getRed()方法来获取红色、绿色、蓝色和alpha分量,然后使用它们来创建Color对象。你甚至可以创建一个扩展来为你做这件事。