博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift - 生成随机颜色(Extension UIColor)
阅读量:5121 次
发布时间:2019-06-13

本文共 1427 字,大约阅读时间需要 4 分钟。

 

在开发中,我们有时需要生成一些随机的颜色。但 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

你可能感兴趣的文章
java基础第十六篇之多线程
查看>>
3527: [Zjoi2014]力 - BZOJ
查看>>
17 , CSS 区块、浮动、定位、溢出、滚动条
查看>>
屏蔽元素默认样式中的边距
查看>>
bzoj1084(SCOI2005)最大子矩阵
查看>>
BZOJ2563 阿狸和桃子的游戏
查看>>
3. Scheme约束XML
查看>>
Tensorflow一些常用基本概念与函数(四)
查看>>
LOJ#6044. 「雅礼集训 2017 Day8」共(Prufer序列)
查看>>
状态栏的颜色设置
查看>>
left join 右表数据不唯一的情况解决方法
查看>>
java核心技术卷一
查看>>
页面响应式技巧-简摘
查看>>
laravel 如何引入自己的函数或类库
查看>>
Java中的hashCode 方法
查看>>
性能测试基础-开门篇2
查看>>
scala初体验3——控制
查看>>
NASA新项目:安卓手机变卫星 | 36氪
查看>>
【转】MySQL命令
查看>>
安装protobuf及相关的lua生成器
查看>>