Skip to content

Provide common、general、basic API and extensions for iOS Platform.

License

Notifications You must be signed in to change notification settings

Eafy/ZJBaseUtils_iOS

Repository files navigation

ZJBaseUtils

ZJBaseUtils是iOS平台obj-C语言的工具集,提供通用、高集成的扩展接口、功能组件及UI组件;

常见问题

Xcode13在Release模式下SwiftUI报错

platform :ios, '10.0'
inhibit_all_warnings!
#....

#解决Xcode13在Release模式下SwiftUI报错问题
pre_install do |installer|
    remove_swiftui()
end
def remove_swiftui
  system("rm -rf ./Pods/Kingfisher/Sources/SwiftUI")
  code_file = "./Pods/Kingfisher/Sources/General/KFOptionsSetter.swift" #处理Kingfisher
  code_text = File.read(code_file)
  code_text.gsub!(/#if canImport\(SwiftUI\) \&\& canImport\(Combine\)(.|\n)+#endif/,'')
  system("rm -rf " + code_file)
  aFile = File.new(code_file, 'w+')
  aFile.syswrite(code_text)
  aFile.close()
end

API扩展

基础类型扩展

  • NSObject:运行时Runtime扩展接口;
  • NSString
    • 字符串扩展:邮箱、手机号、中文、数字、Emoji、全英文、大小、转换、颜色等;
    • Json:转字段、数组;
    • 编码:MD5、RSA、SHA、AES、DES;
    • UIImage:字符串转Image;
  • NSMutableAttributedString:添加、移除特殊颜色;
  • NSDate:时间格式化、UTC、本地时间获取及互转、单获取时间相关接口;
  • NSData
    • 转换:转十六进制、转Base64;
    • 编码:RSA、AES、DES;
  • NSDictionary:转Json;
  • NSArray:转Json、数组集操作(交集、差集、并集、反序);
  • NSFileManager
    • 文档、沙盒路径
    • 文件操作:创建、删除、一定、拷贝、查找、遍历;
    • 系统容量大小及缓存清除;
    • 文件类型;
  • NSThread:休眠、唤醒、信号量;
  • CAAnimation:动画集合(抖动、透明过渡、缩放、旋转);

UI类型扩展

  • UIColor:颜色快捷API、字符串转颜色、颜色操作;
  • UIImage
    • 基础API:保存、取颜色点、改变颜色、缩放、截取、角度操作、颜色转图片;
    • 渐变色:多形式生成渐变色图片;
    • 二维码:黑白二维码、颜色二维码;
  • UISearchBar:属性操作(字体、文字颜色、取消按钮);
  • UIView
    • 基础API:转图片、边框线条、离屏圆角、阴影;
    • Frame:坐标体系快速API;
    • 渐变色;
    • 动画;
    • 手势:单击、双击、多次点击、长按、左滑、右滑;
  • UIButton:文字和图片布局操作、渐变色;
  • UIImageView:图片位置操作;
  • UIViewController
    • 当前控制器
    • 查找控制器;
    • 退出至某个控制器;
    • 退出所有控制器;
    • 弹框快捷API;

功能组件

  • ZJScreen:屏幕Frame及适配相关;

    • 各类Frame快捷API;
    • 屏幕自适应缩放API;
    • 当前窗口Window;
  • ZJSystem

    • 项目App属性API;
    • 设备UUID操作;
    • 系统语言;
    • 系统权限操作;
    • URL跳转操作;
    • WiFi及IP获取;
  • ZJLocalization:自适应的本地化语言工具类,单一快捷适配语言;

  • 基类控制器模板:涵盖大部分的属性快捷操作、集成API,以下基类控制器一起使用可产生高效的联动属性;

    • 基类控制器:ZJBaseViewController;
    • 基类图表控制器:ZJBaseTableViewController;
    • 基类底部导航控制器:ZJBaseTabBarController;
    • 基类导航控制器:ZJBaseNavigationController;
  • ZJPhoto:系统相册操作工具类;

    • 获取最后一张图片、一个视频;
    • 删除最后一张图片、一个视频;
    • 获取相册文件信息、首帧图片等;
    • 相册文件操作:保存、删除、移动、拷贝等;
  • ZJModel:建议的Json转Model类(自嘲写的比较另类);

  • ZJBundleRes:UIBundle资源加载及读取器;

UI组件

  • 表单模板:支持大部分设置类型功能的表单样式,仅针对填入对应的数据,即可展示;

    image-20210318142809207
  • ZJCalendar:日历模块,支持单选、多选、区域选择;

    image-20210318141235436
  • ZJSlider:滑块选择模块,支持单点、区间、固定点样式;

    image-20210318143244179
  • ZJNotifyHUD:类告警提示的Hub提示弹框,支持多动画、悬停、右键操作、内容分类;

    image-20210318143348472
  • ZJAlertView:弹框提示器,可根据不同场景自行搭配多种样式;

image-20210318143749772 image-20210318143759396 image-20210318143825829

  • ZJSheetView:底部弹框选择器,支持内容自由搭配;

    image-20210318144007849
  • ZJStepBar:步骤条模块;

    image-20210318144232503
  • ZJSegmentedControl:标签选择器,支持固定、滑动、图形文字混合;

    image-20210318144257440
  • ZJPickerView:选择器,支持多列、时间、联动模式;

    image-20210318144803808 image-20210318144813701

About

Provide common、general、basic API and extensions for iOS Platform.

Resources

License

Stars

Watchers

Forks

Packages

No packages published