在开发中,我们有时需要生成一些随机的颜色.但 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…
#import <UIKit/UIKit.h> @interface UIColor (RandomColor) +(UIColor *) randomColor; @end #import "UIColor+RandomColor.h" @implementation UIColor (RandomColor) +(UIColor *) randomColor { CGFloat hue = ( arc4random() % / 256.0 );  //0.0 to 1.…
一.常规主题色使用点 应用在发布前都会对主题色进行设置,以统一应用的风格(可能有多套主题).在主题色设置上有几个方面,如下: 1. TabBar部分,设置图片高亮.文本高度颜色2. NavigationBar部分,设置导航栏颜色及字体颜色3. 应用标签等,设置字体的颜色4. 应用图片主题色 主题色的设置点,大体从上面四个方面着手,图片的主题色我们可通过图片更换的方式进行处理.而通过代码来处理的 1-3 条,有着不同的处理方法.大家常规处理方法如下: 步骤一:变化分离 1. 利用Swift扩展语法…
一.常规主题色使用点 应用在发布前都会对其主题色进行设置,以统一应用的风格(可能有多套主题).在主题色设置上有几个方面,如下: 1.TabBar部分,设置图片高亮.文本高度颜色 2.NavigationBar部分,设置导航栏颜色及字体颜色 3.应用标签等,设置字体的颜色 4.应用图片主题色 主题色的设置点,大体从上面四个方面着手,图片的主题色我们可通过图片更换的方式进行处理.而通过代码来处理的1-3条,有着不同的处理方法.大家常规处理方法如下: 步骤一:变化分离 1.利用Swift扩展语法扩展U…
在现有类和结构体的类型基础上,扩展新的功能. 语法: extension SomeType{ // new functionality to add to SomeType goes here } An extension can extend an existing type to make itadopt one or more protocols.Where this is the case, the protocol names are written in exactly the sa…
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <button id="btn1">调用第一种</button> <button id="bnt2">调用第二…
function rand_color($color_array) { $color = dechex(rand(3355443,13421772)); if (in_array($color, $color_array)) { $color = rand_color($color_array); } return $color; }…
/*随机获取颜色*/ function getRandomColor() { var r = Math.floor(Math.random() * 256); var g = Math.floor(Math.random() * 256); var b = Math.floor(Math.random() * 256); return "rgb(" + r + ',' + g + ',' + b + ")"; //return '#' + Math.floor(Ma…
以添加颜色为例,new 一个swift文件夹 不是cocoa类 也不需要继承什么. 然后 import UIKit protocol ColorDalegate{ class func mainColor(Void) -> UIColor } extension UIColor: ColorDalegate{ class func mainColor(Void) ->UIColor{ return UIColor.redColor() } } 这里定义一个ColorDalegate的协议,然后…
对[UIColor]进行扩展 import UIKit extension UIColor { // Hex String -> UIColor convenience init(hexString: String) { let hexString = hexString.trimmingCharacters(in: .whitespacesAndNewlines) let scanner = Scanner(string: hexString) if hexString.hasPrefix(&qu…
这段时间突然想到一个很久之前用到的知识-瀑布流,本来想用一个简单的方法,发现自己走入了歧途,最终只能狠下心来重写UICollectionViewFlowLayout.下面我将用两种方法实现瀑布流,以及会介绍第一种实现的bug. <1>第一种 效果图如下所示: 这种实现方法的思路: 1)首先调用随机函数,产生随机高度,并把它保存到数组中 - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollection…
Swift UIColor 16进制编码转换RGB : 由于UI出图的时候,通常给的是16进制的编码颜色,我们在开发的时候需要将它转换为RGB格式,现在给出两种代码片段. 一.对UIColor进行扩展 1 extension UIColor { 2 3 /** 4 Make color with hex string 5 - parameter hex: 16进制字符串 6 - returns: RGB 7 */ 8 static func colorWithHexString (hex: St…
想要给图片添加文字水印或者注释,我们需要实现在UIImage上写字的功能. 1,效果图如下: (在图片左上角和右下角都添加了文字.) 2,为方便使用,我们通过扩展UIImage类来实现添加水印功能 (文字大小,文字颜色,背景色,位置,边距都可以设置) 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 4…
用Swift语言重写Web Color这个类. 这次是用函数实现的,感觉也非常简洁.眼下(2014.6.28) Xcode 6的方法提示还不健全,就仅仅实现了用颜色名字创建颜色的功能. 最新代码&相关资料下载地址:https://github.com/duzixi/WebColors-with-Swift (持续维护) 使用方法说明: WebColor.swift文件导入project,然后直接就能够使用: self.view.backgroundColor =webColor("天蓝色…
排序分为内部排序和外部排序. 内部排序:是指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列. 外部排序:指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存,需要在内存和外部存储器之间进行多次数据交换,以达到排序整个文件的目的. 当N小于20的时候,插入排序具有最好的性能. 当N大于20时,快速排序具有最好的性能,尽管归并排序(merge sort)和堆排序(heap sort)复杂度都为nlog2(n). 选择排序: 是对冒泡排序法 的一种改进.冒泡…
排序分为内部排序和外部排序. 内部排序:是指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列. 外部排序:指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存,需要在内存和外部存储器之间进行多次数据交换,以达到排序整个文件的目的. 当N小于20的时候,插入排序具有最好的性能. 当N大于20时,快速排序具有最好的性能,尽管归并排序(merge sort)和堆排序(heap sort)复杂度都为nlog2(n). 快速排序算法:快速排序是C.R.A.Hoar…
排序分为内部排序和外部排序. 内部排序:是指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列. 外部排序:指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存,需要在内存和外部存储器之间进行多次数据交换,以达到排序整个文件的目的. 当N小于20的时候,插入排序具有最好的性能. 当N大于20时,快速排序具有最好的性能,尽管归并排序(merge sort)和堆排序(heap sort)复杂度都为nlog2(n). 冒泡排序算法 1.算法原理: (1).比较相…
要学习Swift这门语言,就必须先了解Swift的关键字及对应的解释.这里就列一下在Swift中常用到的关键字. 关键字是类似于标识符的保留字符序列,除非用重音符号(`)将其括起来,否则不能用作标识符.关键字是对编译器具有特殊意义的预定义保留标识符.常见的关键字有以下4种. 与声明有关的关键字:class.deinit.enum.extension.func.import.init.let.protocol.static.struct.subscript.typealias和var. 与语句有关…
objc #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] //调用 UIColor * color = UIColo…
本文转载自:https://hicc.me/whats-new-in-swift-3-to-5-1/,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有. Hipo 2.0 重写从 Swift 1的版本写到2的版本,后续Hipo功能稳定,更新慢了很多……,Swift本身却在长足的发展,5.0都已经发布了,本文对Swift 3.0 到Swift 5.1 的更新点做个总结. 为了方便阅读,准备从新到旧的总结. 下面所有的东西,都是来自 hackingwithswift.com . Swif…
1.创建选择 :swift file 2.名称:UIBarButtonItem-Extension 3.category,便利构造函数 extension UIColor { /* 1.extension 2.convenience 3.self.init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) 注意:最后一定要调用一次self.init(red:....),系统默认的初始化方法 */ convenience in…
Objective-c 版本 UIKIT_EXTERN UIImage * __nullable UIColorAsImage(UIColor * __nonnull color, CGSize size) { CGRect rect = CGRectMake(0, 0, size.width, size.height); UIGraphicsBeginImageContextWithOptions(rect.size, NO, [UIScreen mainScreen].scale); CGC…
Objective-C UIColor * __nullable UIColorFromHexValue(NSUInteger hexValue) { CGFloat red = (hexValue & 0xFF0000) >> 16; CGFloat green = (hexValue & 0x00FF00) >> 8; CGFloat blue = hexValue & 0x0000FF; return [UIColor colorWithRed:red…
Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著   ISBN 978-7-121-24328-8 2014年10月出版 定价:59.00元 428页 16开 编辑推荐 本书内容翔实,实例丰富,同步新版官方API文档和语法 语法|词法|框架覆盖全面,实战案例|配套习题丰富 多位Swift专家联合推荐,不仅是Swift入门书籍,也可做案头工具书 作者携手Swift专家在线答疑,方式如下: 1.专属勘误交流…
扩展UIColor,将十六进制的颜色字符串转成UIColor对象. extension UIColor { static func colorWithHexString(hex:String) -> UIColor { var cString:String = hex.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).uppercaseString if cString.hasPr…
原文:What's New in Swift 3? ,作者:Ben Morrow,译者:kmyhy Swift 3将于今年下半年推出,为Swift开发者们带来了很多核心代码的改变.如果你没有关注过 Swift Evolution 项目,你可能会好奇Swift 3中有什么改变,它会对你的代码带来什么影响,以及何时可以将代码移植到Swift 3.本文就将为你答疑解惑! 本文中,我将重点介绍 Swift 3 中的重大改变,以及这些改变对你的代码的深刻影响.让我们开始吧! 开始 目前,Swift 3 预…
swift中使用protocol声明一个协议接口 swift中类.枚举和结构体都可以实现协议接口 swift中类中的方法都可以修改成员变量的值 swift中结构体中的方法默认是不能修改成员变量的,添加mutating关键字后就可以修改了 swift中使用extension来为现有的类型添加功能.你可以使用扩展来给任意类型添加协议,甚至是你从外部库或者框架中导入的类型 swift中协议接口的委托代理模式和Objective-C基本上是一样的,都是主方设置一个代理人,然后将事情的处理委托给这个代理人…
import UIKit extension UIColor { convenience init(hex:Int, alpha:CGFloat=1.0) { let red = CGFloat((hex & 0xFF0000) >> 16)/255.0 let green = CGFloat((hex & 0xFF00) >> 8) /255.0 let blue = CGFloat ((hex &0xFF))/255.0 self.init(red:re…
上点干货,写个extension, 可以通过hex值去设置Color,以及通过UIColor的color case 去得到hex值. extension UIColor {     var toHexString: String {         var r: CGFloat = 0         var g: CGFloat = 0         var b: CGFloat = 0         var a: CGFloat = 0                  self.get…
对[UIImage]进行扩展 import UIKit extension UIImage{ /** 根据坐标获取图片中的像素颜色值 */ subscript (x: Int, y: Int) -> UIColor? { || x > Int(size.width) || y < || y > Int(size.height) { return nil } let provider = self.cgImage!.dataProvider let providerData = pr…