ios – UIColor扩展方便init无法正常工作

ios – UIColor扩展方便init无法正常工作,第1张

概述convenience init(red:Int,green:Int,blue:Int,alpha:CGFloat) { var red: CGFloat = CGFloat(red)/255.0 var green: CGFloat = CGFloat(green)/255.0 var blue: CGFloat = CGFloat(blue)/255.0
convenIEnce init(red:Int,green:Int,blue:Int,Alpha:CGfloat) {    var red:   CGfloat = CGfloat(red)/255.0    var green: CGfloat = CGfloat(green)/255.0    var blue:  CGfloat = CGfloat(blue)/255.0    self.init(red:red,green:green,blue:blue,Alpha:Alpha)}

我编写了上面的代码,以便更方便地声明我的自定义uicolor.但不知何故,它通过调用自身崩溃我的应用程序直到堆栈溢出.这有什么不对?

另外,我刚才意识到我没有明确地调用这个init函数.但是,当发生此错误时,我正在调用UIcolor.whitecolor().当然,如果我明确调用此函数,仍然会发生错误!

解决方法 我没有看到任何不便这样做:

let myCustomcolorHSBa = UIcolor(hue: 120/360,saturation: 0.25,brightness: 1.0,Alpha: 1)let myCustomcolorRGBa = UIcolor(red: 191/255,green: 1,blue: 191/255,Alpha: 1)

但如果你真的需要一个,你可以这样做:

extension UIcolor {    convenIEnce init(red: Int = 0,green: Int = 0,blue: Int = 0,opacity: Int = 255) {        precondition(0...255 ~= red   &&                     0...255 ~= green &&                     0...255 ~= blue  &&                     0...255 ~= opacity,"input range is out of range 0...255")        self.init(red: CGfloat(red)/255,green: CGfloat(green)/255,blue: CGfloat(blue)/255,Alpha: CGfloat(opacity)/255)    }}
UIcolor(red: 255)               // r 1.0 g 0.0 b 0.0 a 1.0  (Red)UIcolor(red: 255,green: 255)   // r 1.0 g 1.0 b 0.0 a 1.0  (Yellow)UIcolor(red: 255,blue: 255)    // r 1.0 g 0.0 b 1.0 a 1.0  (magenta)UIcolor(green: 255)             // r 0.0 g 1.0 b 0.0 a 1.0  (Green)UIcolor(green: 255,blue: 255)  // r 0.0 g 1.0 b 1.0 a 1.0  (Cyan)UIcolor(blue: 255)              // r 0.0 g 0.0 b 1.0 a 1.0  (Blue)UIcolor(red: 255,green: 192,blue: 203)  // r 1.0 g 0.753 b 0.796 a 1.0 (Pink)UIcolor(red: 255,green: 215)   // r 1.0 g 0.843 b 0.0 a 1.0 (Gold)
总结

以上是内存溢出为你收集整理的ios – UIColor扩展方便init无法正常工作全部内容,希望文章能够帮你解决ios – UIColor扩展方便init无法正常工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1066214.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存