gpt4 book ai didi

swift - 使用数组存储的颜色(字符串)来设置标签元素的 UIColor

转载 作者:行者123 更新时间:2023-11-30 10:47:32 25 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序(目前只是一个个人项目),我正在尝试根据数组中存储的变量更改标签背景和文本颜色,我真的很挣扎!

我尝试过使用几种方法,但我对 Swift 还很陌生,不了解这里的最佳实践和非最佳实践背后的所有逻辑。

这是我的数组:

let testItem = [["在此命名"], ["红色: 1.0, 绿色: 0, 蓝色: 0, alpha: 1"], ["红色: 1.0, 绿色: 0, 蓝色: 0 , 阿尔法: 1"]]

基本上我认为我能够做这样的事情:

labelOne.backgroundColor = UIColor(testItem[1])
labelOne.textColor = UIColor(testItem[2])

但是,当然,这是行不通的......所以有什么想法吗?

最佳答案

有多种方法可以做到这一点,这里有一些可以帮助您了解数据收集的方法(还有其他方法)。

您可以简单地创建一个颜色数组[UIColor]:

let colors = [UIColor.red, UIColor.green, UIColor.blue]

labelOne.backgroundColor = colors[0]
labelOne.textColor = colors[2]

您可以将一个标签的所有样式存储在字典中[String : UIColor]:

let labelOneStyling = ["background": UIColor.red, "text": UIColor.blue]

labelOne.backgroundColor = labelOneStyling["background"]
labelOne.textColor = labelOneStyling["text"]

您可以将所有标签样式存储在字典的字典中[String : [String : UIColor]]:

let allLabelStyling = ["labelOne": ["background": UIColor.red, "text": UIColor.blue], "labelTwo": ["background": UIColor.green, "text": UIColor.yellow]]

labelOne.backgroundColor = allLabelStyling["labelOne"]?["background"]
labelOne.textColor = allLabelStyling["labelOne"]?["text"]

一个非常有用的提示是按住 Option 键单击任何属性,例如第一个示例中的 colors 数组,然后选择“显示快速帮助”。 Xcode 会告诉您该属性是什么类型。您将看到 let color: [UIColor] 它告诉您颜色是 UIColors 类型数组的常量。 Swift 是一种强类型语言,类型是 OOP 的构建 block ,所以如果有什么东西需要立即学习,类型就是它。

关于swift - 使用数组存储的颜色(字符串)来设置标签元素的 UIColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55458654/

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