zoukankan      html  css  js  c++  java
  • Swift

     

    在开发中,我们有时需要生成一些随机的颜色。但 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 ViewControllerUIViewController {
     
        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,
                                                     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)
            }
        }
    }
     
  • 相关阅读:
    tomcat调试页面的时候,不刷新
    $.ajax()方法详解(转)
    Zookeeper简述
    简述Dubbo
    Nginx入门
    Redis入门
    JVM入门
    spring MVC框架入门(外加SSM整合)
    Mybatis框架入门
    Spring+Hibernate+Struts(SSH)框架整合
  • 原文地址:https://www.cnblogs.com/gongyuhonglou/p/10311559.html
Copyright © 2011-2022 走看看