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 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 ...
随机推荐
- 顺序表java实现
public class SeqList { Object[] data; int maxSize; int length; public SeqList(int maxSize) { this.ma ...
- 基于Arduino、STM32进行红外遥控信号接收
catalogue . 遥控器原理简介 . 红外遥控原理 . 常见红外遥控器红外线信号传输协议 . 遙控器的发展 . 实验过程 . 攻击面 . 基于STM32实现红外信号解码 1. 遥控器原理简介 0 ...
- spring 事务传播特性 和隔离级别
事务的几种传播特性1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务.如果没有事务则开启2. PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务 ...
- <<< Java生成Md5
package cn.sevennight.test; import java.security.MessageDigest; public class md5{ public static Stri ...
- <<< html编码中js和html编码不一致导致乱码
在html中,有时把编码设置成UTF-8之后,引入js,页面不会有乱码,但是有关js的东西会出现乱码, 大概问题就是js默认编码不是UTF-8, 解决办法:将js文件用记事本打开,在另存为,保存的时候 ...
- elastichq auto connect
$(document).ready(function () { $('#connectionURL').focus(); ajaxloading.hide(); scrollToTop.activat ...
- 数据库性能优化常用sql脚本总结
最近闲来无事,正好抽出时间,来总结总结 sql性能优化方面的一下小技巧,小工具.虽然都是些很杂的东西,但是我个人觉得,如果真的清楚了里面的一下指标,或许真的能抵半个DBA. 有些时候,找不到DBA或者 ...
- 【迁移】—Entity Framework实例详解 转
一.Entity Framework 迁移命令(get-help EntityFramework) Enable-Migrations 启用迁移 Add-Migration 为挂起的Model变化添加 ...
- vtkMapper
本文只是整理了该网页的内容:http://www.cnblogs.com/lizhengjin/archive/2009/08/16/1547340.html vtkMapper是一个抽象类,指定了几 ...
- C# 的界面控件属性修改线程安全问题
今天在实验delegate与thread 在初步的实验结束后,因为原来的delegate只有一个函数会被调用,感觉没有达到delegate的极致,所以又重新自己定义了一个delegate,在另一个线程 ...