Swift - 生成随机颜色(Extension UIColor)

 

在开发中,我们有时需要生成一些随机的颜色。但 UIColor 没有提供方法或属性来直接获取随机颜色,这里对其进行扩展,方便使用。

1,扩展UIColor,增加随机颜色属性

1
2
3
4
5
6
7
8
9
10
11
12
extension  UIColor  {
     //返回随机颜色
     class  var  randomColor:  UIColor  {
         get  {
             let  red =  CGFloat (arc4random()%256)/255.0
             let  green =  CGFloat (arc4random()%256)/255.0
             let  blue =  CGFloat (arc4random()%256)/255.0
             return  UIColor (red: red, green: green, blue: blue, alpha: 1.0)
         }
     }
}

 

2,使用样例

这里我们使用随机颜色来创建一个马赛克墙
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import  UIKit
 
class  ViewController UIViewController  {
 
     override  func  viewDidLoad() {
         super .viewDidLoad()
         
         //马赛克宽度
         let  itemWidth = 5
         
         //行数
         let  rowNums =  Int ( self .view.bounds.height)/itemWidth
         
         //列数
         let  colNums =  Int ( self .view.bounds.width)/itemWidth
         
         for  in  0...rowNums {
             for  in  0...colNums{
                 let  item =  UIView (frame:  CGRect (x: j*itemWidth, y: i*itemWidth,
                                                 width: itemWidth, height: itemWidth))
                 //使用随机颜色
                 item.backgroundColor =  UIColor .randomColor
                 self .view.addSubview(item)
             }
         }
     }
 
     override  func  didReceiveMemoryWarning() {
         super .didReceiveMemoryWarning()
     }
}
 
extension  UIColor  {
     //返回随机颜色
     class  var  randomColor: UIColor {
         get
         {
             let  red =  CGFloat (arc4random()%256)/255.0
             let  green =  CGFloat (arc4random()%256)/255.0
             let  blue =  CGFloat (arc4random()%256)/255.0
             return  UIColor (red: red, green: green, blue: blue, alpha: 1.0)
         }
     }
}
 

转载于:https://www.cnblogs.com/gongyuhonglou/p/6128693.html

你可能感兴趣的:(Swift - 生成随机颜色(Extension UIColor))