首先很感谢大家的支持与关注。《Web Color 的 Swfit 实现》一文一经公布。訪问量迅速攀升,让本人受宠若惊。
为表达感激之情,今天早上把彩虹渐变也顺手实现了。
最新代码&相关资料下载地址:https://github.com/duzixi/RainbowColors-with-Swift (持续维护)
生成函数原型:
- func rainbowColor(x: Float) -> UIColor
參数取值范围:
x : 0 ~ 256 * 5 - 1
生成全部彩虹渐变色的演示样例:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let viewHeight:Float = Float(self.view.frame.size.height)
let viewWidth:Float = Float(self.view.frame.size.width)
//Create all Rainbow Colors
let inc:Float = 256 * 5 / viewHeight;
for (var i:Float = 0.0; i < 256 * 5; i += inc) {
let view = UIView();
view.frame = CGRectMake(0, 0 + i / inc, viewWidth, 1);
view.backgroundColor = rainbowColor(i); // <----调用彩虹渐变色函数,參数必须是Float型
self.view.addSubview(view);
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
程序运行效果图:
源码參照:
(注意:下面源码未必最新。最新源码请点击进入本文上方的链接获取。)
程序Bug:
调试环境:Xcode6 Beta
4s和5模拟器都没有问题。用5s測试的时候会提示运算符错误。
猜測是数据类型的问题。可是详细是什么原因没有调试成功,还请各位指教。
|
请发表评论