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 UIKitclass 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 i in 0...rowNums { for j 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) } }} |
Swift - 生成随机颜色(Extension UIColor)的更多相关文章
- iOS 生成随机颜色(UIColor)
#import <UIKit/UIKit.h> @interface UIColor (RandomColor) +(UIColor *) randomColor; @end #impor ...
- Swift主题色顶级解决方案
一.常规主题色使用点 应用在发布前都会对主题色进行设置,以统一应用的风格(可能有多套主题).在主题色设置上有几个方面,如下: 1. TabBar部分,设置图片高亮.文本高度颜色2. Navigatio ...
- Swift主题色顶级解决方案一
一.常规主题色使用点 应用在发布前都会对其主题色进行设置,以统一应用的风格(可能有多套主题).在主题色设置上有几个方面,如下: 1.TabBar部分,设置图片高亮.文本高度颜色 2.Navigatio ...
- Swift扩展(Extension)
在现有类和结构体的类型基础上,扩展新的功能. 语法: extension SomeType{ // new functionality to add to SomeType goes here } A ...
- js几种生成随机颜色方法
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- php生成随机颜色代码
function rand_color($color_array) { $color = dechex(rand(3355443,13421772)); if (in_array($color, $c ...
- JS生成随机颜色(rgb)
/*随机获取颜色*/ function getRandomColor() { var r = Math.floor(Math.random() * 256); var g = Math.floor(M ...
- swift中的类拓展 extension
以添加颜色为例,new 一个swift文件夹 不是cocoa类 也不需要继承什么. 然后 import UIKit protocol ColorDalegate{ class func mainCol ...
- [Swift]扩展UIColor:实现十六进制颜色字符串与UIColor之间的相互转换
对[UIColor]进行扩展 import UIKit extension UIColor { // Hex String -> UIColor convenience init(hexStri ...
随机推荐
- 报错: Unable to start activity ComponentInfo:You need to use a Theme.AppCompat theme
转自 http://www.2cto.com/kf/201605/506596.html
- C#-WebForm-WebForm开发基础
1.C/S 客户端应用程序 WinForm WPF 平级 数据是存放在其他的电脑上或服务器上 需要从服务器上下载相应的数据,在本地电脑上的客户端里进行加工 数据的加工是在用户的电脑上执行的,会对用户的 ...
- c# 文本框只能输入数字
<input type="text" onKeyUp="value=value.replace(/\D/g,'')" /> onKeyUp: 当输 ...
- 【BZOJ-3747】Kinoman 线段树
3747: [POI2015]Kinoman Time Limit: 60 Sec Memory Limit: 128 MBSubmit: 715 Solved: 294[Submit][Stat ...
- 【Codefoces487E/UOJ#30】Tourists Tarjan 点双连通分量 + 树链剖分
E. Tourists time limit per test: 2 seconds memory limit per test: 256 megabytes input: standard inpu ...
- eclipse安装和配置
一.下载eclipse eclipse下载页 (选择"Eclipse IDE for Java EE Developers",适用于web和android开发) 我用的是luna的 ...
- Nginx反向代理tomcat,seesion会话保持。
proxy_pass http://10.0.0.10:8081/monitor/; proxy_cookie_path /monitor/ /; proxy_set_header Host &quo ...
- <<< struts 的一系列介绍
struts有什么用? 以前使用servlet开发应用系统的人深深感受到在java代码中嵌入大量html代码是一件非常痛苦的事,于是sun推出了JSP,解决了java代码中嵌入html代码的问题.但是 ...
- <<< MyEclipse软件中的快捷键
-------------------------------------MyEclipse 快捷键1(CTRL)-------------------------------------Ctrl+1 ...
- How to setup vsftpd FTP file Server on Redhat 7 Linux
Forward from: https://linuxconfig.org/how-to-setup-vsftpd-ftp-file-server-on-redhat-7-linux How to s ...