iOS常用工具类总结(持续更新贴)

十一将近,又可以好好为祖国母亲庆(chu)祝(qu)生日(lang)了。
最近在整理一些iOS开发过程中经常会使用到的一些方法和分类。
如下只介绍一些实现的方法。如有需要任君挑选(^ _ ^)

一、UIColor分类

  • 16进制数转色值
  • 16进制数转色值(带透明度)
  • 根据颜色生成16进制

二、UIView分类

  • 获取(或设置)view的X,Y,Width,Height,origin,size,bottom,tail,centerX,centerY,centerPort
  • 判断两个View之间的位置关系(重合,分离,相交)

三、NSString分类

  • 判断字符串是否为纯数字
  • 判断字符串是否为纯字母
  • 判断字符串是否符合某种规则(规则采用正则表达式的形式)
  • 判断字符串是否为空
  • 判断字符串是否有空格
  • 比较纯数字字符串的大小(这里的比较是针对数字之间的比较,如果为非数字,则按正常情况比较)
  • 校验字符串的长度是否满足某种规则(该地方所说的规则为大于、小于、等于)
  • 删除字符串中的某些字符
  • 反转字符串
  • 16进制字符串转换为2进制数据
  • 2进制数据转换为16进制字符串
  • 计算字符串的宽度
  • 计算字符串的高度
  • 计算字符串的大小
  • 复制字符串

四、NSAttributeString 分类

1、关于NSAttributeString的一些简单设置方法

  • 改变指定字的大小
  • 改变指定字的颜色
  • 改变行间距
  • 给目标字符串添加下划线
  • 设置首行缩进效果
  • 对目标字符串进行多属性同时设置
  • 计算富文本字符串的大小
  • 计算富文本字符串的宽度
  • 计算富文本字符串的高度

2、NSMutableAttributeString分类

对 NSMutableAttributeString 进行了一个分类,主要目的是为了提高属性的设置效率(富文本属性的设置需要记住对应的键,相对成本较高),该类将一些常用的使用方法名的形式直观的表现出来,这样在编写的时候可以采用组合的方式得到自己的最终效果。
当然你也可以采用键值对的方式来写入。

  • 设置颜色
  • 设置大小
  • 设置行间距
  • 设置下划线
  • 设置下划线颜色
  • 设置页面风格

五、日期转换类

该类对日期采用枚举的形式进行各个格式的转换,转换使用的formatter保持仅有一份,减小开销。该类中有一个枚举,可扩展加入自己想要有的日期格式。

  • 获取当前时间,并根据类型返回对应格式的字符串
  • 传入的时间,并根据类型返回对应格式的字符串
  • 字符串,并根据类型返回对应的时间
  • 时间格式的相互转换
  • 判断日期的有效性
  • 比较两个日期(跟当前日期比较)
  • 比较两个日期
  • 计算两个日期之间的天数

六、设备工具类

该类负责提供一些设备相关的信息,使用该类需要引入一个keychainItemWrapper,如果不使用UUID的话可以不用引入

  • 获取设备的UUID
  • 获取当前设备型号(目前支持到iphoneX,不过还没验证过,就是穷)
  • 获取系统版本
  • 获取应用的version
  • 获取应用的build
  • 获取应用的bundle identify

七、UIImage的分类

该类可针对图片进行处理,压缩体积和大小等

  • 图片压到指定体积
  • 图片缩到指定大小(指定宽度,等比压缩)
  • 图片压缩到指定大小(指定高度,等比压缩)
  • 图片压缩到指定大小(指定大小)
  • 图片裁剪
  • 屏幕截图
  • 生成纯色图片
  • 图片模糊
  • 获取图片中某个像素点的颜色
  • 保存图片

七、常用方法工具类

该类提供了一些常用的方法

  • MD5加密
  • base64编码
  • base64解码
  • 验证手机号的正确性
  • 验证邮箱的正确性
  • 验证URL是否为标准的
  • 银行卡匹配
  • 身份证号码匹配
  • 根据身份证号识别性别
  • 获取当前屏幕的宽度
  • 获取当前屏幕的高度

八、文件工具类

该类主要简化文件操作的一些处理

  • 获取tmp文件夹路径
  • 获取Cache文件夹路径
  • 获取Documents文件夹路径
  • 判断文件是否存在
  • 删除文件

目前就做了如上的一些分类,如后期有新增的会持续更新增加。

具体的实现可移步至Git查看

你可能感兴趣的:(iOS常用工具类总结(持续更新贴))