JXCategoryKit 0.2.7

JXCategoryKit 0.2.7

Barnett2050 维护。



JXCategoryKit 系统基础类扩展

  • 包含 Foundation.framework 内的 NSDate、NSTimer、NSObject、NSNull、NSFileManager、NSString、NSDictionary、NSError、NSBundle、NSArray 类扩展
  • 包含 UIKit.framework 内的 UIWindow、UIViewController、UIView、UITextField、UITableViewCell、UIImage、UIDevice、UIColor、UIButton、UITabBarController、UIApplication 类扩展
  • 包含 CoreLocation.framework 内的 CLLocation 类扩展
  • 包含 QuartzCore.framework 的 CALayer 类扩展

📜提示:所有类扩展方法均是整理总结的自定义方法,并且方法名均以 jx_ 开头,避免了与其他类扩展自定义方法名冲突。
以下类的方法被 Hook 了:
UIButton:Hook 了 sendAction 方法,并在 sendAction 之前添加了一个实例方法。 NSArray:Hook 了系统方法,安全取值。 NSMutableArray:Hook 了系统方法,安全取值、插入、删除等。 NSMutableDictionary:Hook 了系统方法,安全赋值。 NSString:Hook 了系统方法,安全取值。 NSMutableString:Hook 了系统方法,安全取值、插入、删除。

如果您认为我整理总结的比较好,希望您给我一个star,您的支持是我坚持下去的动力。

引用

  • 可以通过 pod 引用:pod 'JXCategoryKit'

内容

  • QuartzCore

    • CALayer
      • 摇动动画
  • CoreLocation

    • CLLocation
      • 世界标准地理坐标(WGS-84) 转换成 中国国测局地理坐标(GCJ-02)<火星坐标>
      • 中国国测局地理坐标(GCJ-02)<火星坐标> 转换成 世界标准地理坐标(WGS-84)
      • 世界标准地理坐标(WGS-84) 转换成 百度地理坐标(BD-09)
      • 中国国测局地理坐标(GCJ-02)<火星坐标> 转换成 百度地理坐标(BD-09)
      • 百度地理坐标(BD-09) 转换成 中国国测局地理坐标(GCJ-02)<火星坐标>
      • 百度地理坐标(BD-09) 转换成 世界标准地理坐标(WGS-84)
      • 两个坐标间的距离
  • UIKit

    • UITableView
      • tableView 更新 block,例如 insert, delete, 或者 select
      • 取消 tableView 所有行的选中
    • UIScrollView
      • 滚动到顶部
      • 滚动到底部
      • 滚动到左
      • 滚动到右
    • UIGestureRecognizer
      • block 初始化手势
      • block 添加到手势识别器
      • 删除所有手势block
    • UIControl
      • 从内部调度表中删除所有目标和操作。
      • 将特定事件(或多个事件)的目标和操作添加或替换到内部调度表中。
      • 将一个或多个特定事件的block添加到内部调度表中。
      • 将特定事件(或多个事件)的block添加或替换到内部调度表中。
      • 从内部调度表中删除特定事件(或多个事件)的所有block。
    • UIWindow
      • 获取主窗体 UIWindow
      • 导航栈的栈顶视图控制器
      • 获取当前显示的控制器
    • UIViewController
      • Alert系统提示
      • AlertSheet系统提示
      • 设置系统标题颜色和字体
      • 设置系统状态栏背景颜色
      • 返回按钮点击事件
      • 隐藏返回按钮
    • UIView
      • 添加圆角,适用于自动布局,传入设置frame
      • 添加圆角,适用于已知的frame,即非自动布局
      • 添加圆角,适用于已知的frame,即非自动布局,圆角位置为UIRectCornerAllCorners
      • 添加圆角,适用于自动布局,传入设置frame,圆角位置为UIRectCornerAllCorners
      • 绘制虚线
      • x,y,width,height,centerX,centerY,size,origin,maxX,maxY
      • 屏幕快照
      • 屏幕快照生成pdf
      • 截取 view 上某个位置的图像
      • 毛玻璃效果
      • 添加Tap,Pan,LongPress手势
    • UITextField
      • 当前输入是否高亮 true 高亮 false 无高亮
      • 选中所有文本
      • 设定选中文本
    • UITableViewCell
      • 显示缩放效果
      • 显示缩进效果
      • 显示旋转效果
      • 设置分割线左边距,右边距
    • UIImage
      • 裁剪图片中的一块区域
      • 图片裁剪,圆角,边框等
      • 拉伸图片
      • 改变图片尺寸
      • 图片模糊处理,高亮,自定义等
      • 更新图片的方向,直立显示
      • 转换图片为png格式的base64编码
      • 拼接长图
      • 根据图片url获取网络图片尺寸
      • 压缩图片
      • GIF数据图
      • PDF文件返回第一张图
      • 返回一个旋转图像
      • 生成带圆角的颜色图片
      • 生成矩形的颜色图片
      • 生成渐变色的UIImage
      • 生成三角图片
      • 从苹果表情符号创建图像
      • 图像绘制block
      • 生成二维码
      • 获取二维码内内容
    • UIDevice
      • 获取通用 - 关于本机 - 名称
      • 获取设备类型
      • 获取系统名称 iOS
      • 获取设备系统版本 13.3/12.0
      • 获取设备电量
      • 获取手机本地语言 zh-Hans-CN/en
      • 获取WiFi信号强度,只有在WiFi显示时才能获取到
      • 获取设备名称,例如:iPhone 11 Pro Max
      • 获取IDFA
      • 获取IDFV
      • 获取UUID
      • 获取当前设备磁盘总容量(单位:MB)
      • 获取当前设备磁盘剩余容量(单位:MB)
      • 获取当前设备磁盘使用容量(单位:MB)
      • 获取当前设备全部系统内存(单位:MB)
      • 获取当前设备使用系统内存(单位:MB)
      • 获取当前设备剩余系统内存(单位:MB)
      • 当前线程占用内存(字节为单位),(发生错误时为-1)
    • UIColor
      • iOS 13.0 亮暗颜色设置
      • 传入十进制颜色生成UIColor
      • 十六进制字符串和颜色互相转换
      • HSL颜色转换
      • CMYK颜色转换
    • UIButton
      • 设置自定义图片文字位置按钮
      • 开始加载菊花动画
    • UITabBarController
      • 设置导航栏背景颜色和阴影颜色
      • 设置tabbar背景颜色和阴影颜色
      • 设置tabbar 文字normal颜色和selected颜色
      • tabbar动态显示和隐藏
    • UIApplication
      • 通知是否启用
      • 跳转App系统通知设置
      • 注册通知
  • Foundation

    • NSNotificationCenter
      • 在主线程上向接收者发送给定的通知。如果当前线程是主线程,则通知被同步发送;否则,被异步发送。
      • 在主线程上将通知发送给接收者。
      • 创建具有给定名称和发送方的通知,并将其发布到主线程上的接收者。如果当前线程是主线程,则通知被同步发布;否则,将被异步发布。
      • 创建具有给定名称和发送方的通知,并将其发布到主线程上的接收者。如果当前线程是主线程,则通知被同步发布;否则,将被异步发布。
      • 创建具有给定名称和发送方的通知,并将其发布到主线程上的接收者。如果当前线程是主线程,则通知被同步发布;否则,将被异步发布。
    • NSData
      • hash加密,包括MD2,MD5,shaX,HMAC-xxxx等
      • AES加密,base64处理
      • gzip压缩和解压缩
      • zlib压缩和解压缩
    • NSFileManager
      • 获取单个文件的大小
      • 向iTunes共享文件夹中写入文件,即NSDocumentDirectory
      • 向文件写入数据
      • 快速返回沙盒中,你指定的系统文件的路径。tmp文件除外,tmp用系统的NSTemporaryDirectory()函数更加便捷
      • 快速返回沙盒中,你指定的系统文件的中某个子文件的路径。tmp文件除外,请使用filePathAtTempWithFileName,不创建文件
      • 快速返回沙盒中选定文件夹的路径
      • 快速返回沙盒中选定文件的路径
      • 快速返回沙盒中选定文件夹的路径
      • 判断文件是否存在
      • 创建目录(已判断是否存在,无脑用就行)
      • 计算指定路径下的文件是否超过了规定时间
      • 重置文件夹
      • 删除文件
      • 根据音频文件二进制流判断是否是amr格式音频
      • 路径是否是文件类型,true 文件类型 false 文件夹类型
      • 移动文件
    • NSDate
      • 根据日期格式获取系统时间
      • 根据日期格式时间字符串转NSDate
      • 根据日期格式转化时间戳(UTC)
      • 根据日期格式转化时间戳字符串(UTC)
      • 根据日期格式转化时间字符串为时间戳(UTC)
      • 时间戳转n小时、分钟、秒前 或者yyyy-MM-dd HH:mm:ss
      • 将秒根据格式转换,限于时分秒
      • 时间戳根据格式返回数据 HH:mm、昨天 HH:mm、MM月dd日 HH:mm、yyyy年MM月dd日)
      • 根据日期格式Date转时间字符串
      • 时间戳UTC转换为本地时间,例:几分钟前,几小时前,几天前,几月前,几年前
      • 日期时间对比,今天,昨天,年月日时分秒,
    • NSTimer
      • 快速创建timer
      • 暂停Timer
      • 恢复Timer
      • 过一段时间继续Timer
    • NSObject
      • swizzle交换类方法
      • swizzle交换类实例方法
      • 判断方法是否在子类里override了
      • 判断当前类是否在主bundle里
      • 输出类方法
      • 输出类属性
      • 返回类属性字典
      • kvo使用block实现
      • 清空所有属性值
    • NSNull
      • nil空对象方法调用时安全处理
    • NSString
      • 一段字符串添加关键字属性
      • 有效账号验证,数字和字母
      • 有效密码验证,数字和字母
      • 有效验证码验证
      • 手机号码验证
      • 中国移动手机号码验证
      • 中国联通手机号码验证
      • 中国电信手机号码验证
      • 身份证号码验证
      • 有效邮箱验证
      • 昵称有效验证
      • QQ号码验证
      • 微信号码验证
      • (个性签名,组织姓名,组织名称)验证
      • 车牌号码验证
      • 字符串是URL地址验证
      • 字符串纯汉字数字字母组成验证
      • 字符串纯字母数字验证
      • 字符串是否为汉字,字母,数字和下划线组成
      • 字符串是否包含表情
      • 字符串判断是否为整形数字
      • 字符串纯英文字母
      • 系统方法计算一段字符串的size
      • CoreText计算单行文本
      • CoreText计算多行文本size
      • URL编码解码
      • 数字转为金额 例:1000000.00 -> 1,000,000.00
      • 手机号码中间四位替换****
      • 移除首尾换行符
      • 身份证号码格式化 6-4-4-4格式
      • 银行卡格式化
      • 字符串转16进制
      • json转换
      • 汉字转拼音,每个汉字拼音中间空格隔开
      • 将字符串的第一个字母大写
      • 获取字符串的字节长度
      • 根据字节截取字符串
      • 从HTML字符串中获取图片URL数组
      • 修改HTML标签的style
      • 获取一段可变字符串的属性字典
      • 32位MD5加密,无二次处理
      • 16位MD5加密,二次处理
      • 基于散列的消息认证码 HMAC-MD5加密
      • sha1加密方式
      • sha1加密后再base64处理
      • sha256加密方式
      • sha384加密方式
      • sha512加密方式
      • base64编码
      • base64解码
      • 转换为16进制字符串
      • 十六进制转换为普通字符串
      • DES加密,密钥长度必须大于8字节
      • DES解密
      • 3DES加密,密钥长度必须大于24字节,否则加密失败,返回错误参数
      • 3DES解密
      • AES128加密,密钥长度必须大于16字节,否则加密失败,返回错误参数
      • AES128解密,密钥长度必须大于32字节,否则加密失败,返回错误参数
      • AES256加密(密钥偏移量至少32位)
      • AES256解密
    • NSDictionary
      • 字典安全取值
      • 转换为可变型数据,包括其中的字典和数组
      • 将字典中的NSNull替换为空字符串
      • 合并两个字典
      • 字典与plist数据转换
    • NSError
      • 生成自定义错误
    • NSBundle
      • 获取应用应用名称
      • 获取 APP 应用版本
      • 获取BundleID
      • 获取编译版本
      • 当前应用版本是否需要更新
    • NSArray
      • 去除重复元素
      • 主键去重,如果元素是字符串键可不传;如果元素是字典,则传主键
      • 将数组中的NSNull替换为空字符串
      • 转换为可变型数据,包括其中的字典和数组
      • 数组的安全取值
      • 数组与plist数据转换,数组反转