相关疑难解决方法(0)

如何从十六进制字符串创建UIColor?

如何UIColor十六进制字符串格式创建,例如#00FF00

cocoa-touch uicolor ios

533
推荐指数
16
解决办法
27万
查看次数

检查颜色是否为蓝色(ish)、红色(ish)、绿色(ish)、

我想实现一个可以按颜色过滤图像的搜索。我的图像模型包含多达 10 个出现在该特定图像中的 UIColors,现在我想要一个过滤器,例如蓝色、绿色、红色、黄色。我如何检查(以指定的容差)该特定图像是否包含蓝色/绿色/...?

我尝试使用 CIE94-difference,但这与人眼感知的相似性不符。我还尝试比较色调和饱和度值,但这也不起作用。

举个例子:

`#23567E` should be blue
`#7A010B` should be red as well as `#FD4E57`
`#0F8801` should be found for green as well as `#85FE97`
Run Code Online (Sandbox Code Playgroud)

我有一个特定的实例UIColor,例如

[UIColor colorWithRed:0.137 green:0.337 blue:0.494 alpha:1] // #23567E
Run Code Online (Sandbox Code Playgroud)

这应该“等于” .blue

[UIColor colorWithRed:0.478 green:0.00392 blue:0.0431 alpha:1] // #7A010B
Run Code Online (Sandbox Code Playgroud)

应该“等于” .red

等等...

uicolor swift

8
推荐指数
1
解决办法
505
查看次数

swift switch语句案例有不同和共享的事情要做

我有这样的代码

switch thing {
  case thisThing:
     do thing #1
     do thing #2
  case thatThing:
     do thing #2
     do thing #3
  case anotherThing:
     do thing #4
  default:
     default
}
Run Code Online (Sandbox Code Playgroud)

因此,每种情况都只有它能做到的事情.有些案例也与一个或多个其他案件做同样的事情.

如果我不想要任何重复的代码,有没有办法实现这一目标?

或者,有没有一个更有效的方法来做这个没有开关语句?我的意思是,我可能,例如,使用if语句,但像switch语句,我不能想办法来完成我想要的东西,而无需使用重复的代码.

此外,这个例子可能比上面更清楚

myFavoriteNumbers = []
myLeastFavoriteNumbers = []

switch myNumber {
case 1:
  print("my number is number 1") // do this only for case 1
  myFavoriteNumbers += [1] // do this for case 1 and case 2
case 2:
  print("this is number 2") // do this only for case 2 …
Run Code Online (Sandbox Code Playgroud)

switch-statement control-flow ios swift

6
推荐指数
1
解决办法
1593
查看次数

如何在 Swift 中将 UIColor 转换为 3/4/6/8 位十六进制字符串?

如何在 Swift 中将 UIColor 转换为 3/4/6/8 位的十六进制字符串?

我如何获得一个特定的?例如,通过调用获取“#0000FFFF”UIColor.blue.eightDigitsString

请看这个

5.2. RGB 十六进制表示法:#RRGGBB

CSS 十六进制颜色表示法允许通过将通道指定为十六进制数来指定颜色,这类似于通常直接在计算机代码中编写颜色的方式。它也比用 rgb() 表示法写出相同的颜色更短。

a 的语法是一个 <hash-token> 标记,其值由 3、4、6 或 8 个十六进制数字组成。换句话说,十六进制颜色被写成一个散列字符“#”,后跟一些数字 0-9 或字母 af(字母的大小写无关紧要 - #00ff00 与 #00FF00 相同)。

给定的十六进制数字数决定了如何将十六进制表示法解码为 RGB 颜色:

6 位数字
第一对数字,解释为十六进制数,指定颜色的红色通道,其中 00 表示最小值,ff(十进制 255)表示最大值。以相同方式解释的下一对数字指定绿色通道,最后一对指定蓝色通道。颜色的 Alpha 通道是完全不透明的。换句话说,#00ff00 表示与 rgb(0 255 0)(柠檬绿)相同的颜色。

8 位数字
前 6 位数字的解释与 6 位数字表示法相同。最后一对数字,解释为十六进制数,指定颜色的 alpha 通道,其中 00 表示完全透明的颜色,ff 表示完全不透明的颜色。换句话说,#0000ffcc 表示与 rgb(0 0 100% / 80%)(略透明的蓝色)相同的颜色。

3 位数字
这是 6 位数字符号的较短变体。第一个数字,解释为十六进制数,指定颜色的红色通道,其中 0 表示最小值,f 表示最大值。接下来的两位数字以相同的方式分别代表绿色和蓝色通道。颜色的 Alpha 通道是完全不透明的。这种语法通常被解释为与通过“复制”所有数字获得的 6 位符号相同。例如,符号#123 …

uicolor ios swift

3
推荐指数
1
解决办法
3319
查看次数

如果调用if语句并且所有条件都为真,那么还要调用所有其他if语句吗?

如果调用if语句并且所有条件都为真,那么还要调用所有其他if语句吗?

喜欢:

if coins > 19 && speedLvl == 1 {
    speedLvl = 2
    coins = coins - 20
}

else if coins > 49 && speedLvl == 2 {
    speedLvl = 3
    coins = coins - 50
            }

else if coins > 99 && speedLvl == 3 {
    speedLvl = 4
    coins = coins - 100
}
Run Code Online (Sandbox Code Playgroud)

如果玩家有1000个硬币,那么speedLvl转到4个?

if-statement swift

2
推荐指数
1
解决办法
76
查看次数

为什么在swift中不允许使用开关盒的概念?

var index = 30

switch index {

   case 10  :    
      println( "Value of index is 10")
   case 20  :

   case 30  :    
      println( "Value of index is either 20 or 30")
   case 40  :    
      println( "Value of index is 40")
   default :    
      println( "default case")
}
Run Code Online (Sandbox Code Playgroud)

switch-statement ios swift

0
推荐指数
1
解决办法
455
查看次数

在 Swift 中,是否有将数组拆分为前缀和后缀的内置方法?

Swift Arrays上是否有一个内置方法将它分成两部分,保留所有元素的顺序?

类似于Array.prefix和 的东西Array.suffix,合二为一?

我知道partitionand split,但它们分别不保留顺序和大小。

例子:

[1,2,3,5,6,2,3,5].cut(where: { $0 < 5 })
>>> ([1,2,3], [5,6,2,3,5])
Run Code Online (Sandbox Code Playgroud)

swift

0
推荐指数
1
解决办法
108
查看次数