- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
对于 UIButton
,我在 Storyboard中将其背景颜色设置为 White Color
。我想根据按钮的当前 backgroundColor
切换按钮的属性。
func toggleButton(button: UIButton) {
if button.backgroundColor == UIColor.whiteColor() {
button.backgroundColor = UIColor.myDesiredColor()
button.tintColor = UIColor.whiteColor()
}else {
button.backgroundColor = UIColor.whiteColor()
button.tintColor = UIColor.myDesiredColor()
}
}
button.backgroundColor == UIColor.whiteColor()
的检查永远不会返回 true
,在调试之后,我发现了 White Color
的值从 Storyboard
设置的 code> 与 UIColor.whiteColor()
的值不同。
调试结果:
Storyboard白色 - UIDeviceRGBColorSpace 1 1 1 1
UIColor.whiteColor()
- UIDeviceWhiteColorSpace 1 1
我已经找到让我的代码按预期工作的解决方法。
我真正的困惑是:
最佳答案
结果的差异并不是因为使用的颜色(毕竟它们都是白色),而是因为使用的结果 colorspace:(RGB
,另一个是Device
)
设备颜色
设备颜色旨在真实呈现人眼所感知的颜色。与设备无关的颜色空间以白色引用点、黑色引用点和特定设备的 Gamma 值开始。 iOS Quartz 利用该信息将源颜色空间的颜色转换为输出设备的颜色空间。设备颜色也是国际色彩联盟定义的标准。
ICC profiles define the gamut of colors supported by a device along with other device characteristics so that this information can be used to accurately transform the color space of one device to the color space of another.
RGB
RGB 是一种三维颜色空间,由构成给定颜色的红色、绿色和蓝色强度的不同值组成。它是计算机图形学中最常用的色彩空间,因为当今大多数彩色显示器都直接支持它。 RGB 颜色空间依赖于设备并且是可加的。
Signals are transmitted to the elements on the face of the monitor, causing them to glow at various intensities of red, green, and blue (the combination of which makes up the required hue, saturation, and brightness of the desired colors)
关于ios - Storyboard中设置的白色和 UIColor.whiteColor() 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37477667/
我正在为 UIColor 编写一个简单的扩展,以获取基于 this answer 的十六进制字符串: import UIKit extension UIColor { public stati
例如,下面的代码与 UIColor.Purple 或 UIColor.Yellow 一起工作正常,但当我使用 UIColor.black 时应用程序崩溃。 fatal error :索引超出范围使用
这个颜色 [UIColor colorWithRed:75.0/255.0 green:215.0/255.0 blue:100.0/
使用 self.backgroundColor = .init(named: "my-color") 其中 self 是一个 UIView,触发此错误: Value of optional type
我正在尝试使用以下代码创建一个 UIColor 实例: var someColor:UIColor = UIColor.colorWithAlphaComponent(0.3) 预编译器告诉我有错误。
我有一个带有 UIColor 属性的对象: class Beer: NSObject { var color: UIColor? ... } 我正在将其保存到数据库中,因此我需要将此属性转换为
这个问题已经有答案了: Swift UIColor initializer - compiler error only when targeting iPhone5s (2 个回答) 已关闭 8 年前
我在 View Controller 类中设置标签颜色。当我使用以下代码时,它起作用了。 self.labelTest.textColor = UIColor.red 但是,如果我使用 UIColor
我想在饼图中提供自定义颜色(使用图表 Pane )。但是为此,setColors([NSUIColor]) 中的数组需要 NSUIColor 格式的颜色数组,我有颜色的十六进制代码。如何使用十六进制代
我正在尝试从 rgb-hex 色彩空间实现 CIColor,如下所示: let bottomColor = UIColor.init(red: 235/255, green: 250/255,
在我的应用程序中,我尝试使用不同的颜色进行绘制。我有自己的颜色选择器,但我想将颜色亮度添加到此选择器 slider 。对于 understudying :我选择一种颜色显示在 View 中的某个地方作
UILabel label = new UILabel(); label.TextColor = UIColor.Black; 如何以字符串格式存储 UILabel 颜色?我想从数据库中获取该颜色并
我无法从使用工厂方法创建的 UIColor(带有模式)创建 NSData 对象 [UIColor colorWithPatternImage:image] 适用于标准 UIColor 对象。想知道是否
我在将 uicolor 转换为十六进制颜色时遇到问题,这是我发现的 CGColorRef colorref = [[Colorview_ backgroundColor] CGColor]; int
我正在绘制一个饼图,每个切片都有不同的颜色。我需要给切片带来纹理外观,而不仅仅是纯色。有什么想法如何做到这一点?我不想使用图像作为所有可能颜色的纹理。所以我需要生成纹理或类似的东西。有任何想法吗。谢谢
我有一个十六进制颜色值,我想将其转换为 UIColor。 UIColor 可以接受色相/饱和度/亮度 (HSB) 值或红/蓝/绿 (RGB) 值。如何使用十六进制值创建 UIColor? 最佳答案 有
我正在涉足 Android 的 MonoTouch/Mono,目前正在创建我自己的 UIColor 子类。不知何故,我无法让我的工厂方法以我想要的方式工作(但我确实有一个解决方法)。 以下代码导致我崩
我已经构建了一组自定义颜色以在我的应用程序中使用,例如石灰 mylimeColor = [UIColor colorWithRed:0.502 green:1.000 blue:0.000 alpha
我正在制作一个交互式应用程序,它应该显示一个蓝色的 UILabel,当按下某个按钮时它必须消失。当我们继续按下按钮时,标签的颜色应该会褪色。我尝试创建自定义 UIColor 并更改其亮度,但效果并不理
尝试简化每个单元格行对象着色的实现。这就是我当前向每行中的对象添加颜色的方式: progressViewLeft.primaryColor = Colors.Stage1 “Colors”是一个像这样
我是一名优秀的程序员,十分优秀!