如何在Swift中获取UIButton的颜色

3
我有一个带有背景颜色的UIButton,现在我想将该按钮颜色设置为单独的颜色字段中。
我尝试了以下方法:
初始化:
var color1 = UIColor()
color1 = dateBtn1.backgroundColor!

设置:

if color1 == UIColor.lightGrayColor() {
                dateBtn1.backgroundColor = UIColor.lightGrayColor()

            }else{
                dateBtn1.backgroundColor =  UIColor(red: 85/255, green: 175/255, blue: 101/255, alpha: 1.0)
            }

我的崩溃报告:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -isEqual: not defined for the UIColor <UIPlaceholderColor: 0x7f953241d150>; need to first convert colorspace.'
1个回答

3

它会起作用。您的问题在于不正确地解封和访问默认按钮的背景颜色属性。

成功案例

失败案例: 输入图像描述


如果条件是 color1 == UIColor.lightGrayColor(),那么它就没能被接受。否则将会执行下面的代码: dateBtn1.backgroundColor = UIColor.lightGrayColor() } else { dateBtn1.backgroundColor = UIColor(red: 85/255, green: 175/255, blue: 101/255, alpha: 1.0) } - Edwin Paul Richards
color1属性未设置,因为您的“dateBtn1”背景颜色默认情况下未设置。您可以主要比较两个图像// Edwin评论。 - itechnician
不,我已经通过编程设置了按钮颜色,它可以正常工作,但是在比较时出现了崩溃问题。 - Edwin Paul Richards
你能展示一下按钮颜色属性的设置代码吗? - itechnician
这并不是与UIColor有关的问题,因为您可以简单地检查以下这行代码: "print(UIColor.lightGrayColor() == UIColor.blueColor())" - itechnician

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接