XLComProject
示例
要运行示例项目,首先克隆仓库并从 Example 目录运行 pod install
。
要求
iOS 9.0
安装
XLComProject 可通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'XLComProject'
DESCRIPTION 【持续更新...】
库中方法绝大多数为以往开发过程中使用到的方法,因精力有限,验证难免有不到位的地方,如你在使用过程中遇到任何问题,
或发现有错漏之处,请联系我,联系方式【微信:GDXL2012、QQ:346959318、邮箱:[email protected]】
谢谢(* ̄︶ ̄)
配置信息 XLConfig
适配配置 XLAdaptationConfig
- UIModalPresentationStyle 控制模态弹出模式
- UIStatusBarStyle 状态栏风格
- backImageName 返回按钮图标
- showBackTitle 返回按钮显示文字
预定义颜色配置 XLColorConfig
- 主题颜色、导航栏颜色、背景色等
通用配置 XLComConfig
- 远端图片加载失败默认图片
- 图片原图地址获取方法:图片预览等显示缩略图、原图
字体配置 XLFontConfig
- 字体缩放等级、字体缩放倍数
- 用于获取可变字体大小,应用支持字体大小设置时使用
- 相关.h、.m文件【UIFont+XLCategory、XLMacroFont】
- 通用间距配置 XLLayoutConfig
- 控件左右间距、内部间距、分割线、圆角等,方便页面统一
宏定义 XLMacro
常用宏 XLComMacro
- 文件、路径、weakself、GCD等
颜色宏 XLMacroColor
- 对应 XLColorConfig 中预定义值
字体宏 XLMacroFont
- 常用字体定义、可变字体
控件间距宏 XLMacroLayout
- 对应 XLLayoutConfig 中预定义值
屏幕适配常用宏 XLDeviceMacro
- 屏幕尺寸、分辨率、物理分辨率,状态栏、导航栏、标签栏高度【适配刘海屏】
系统版本 XLSystemMacro
- 系统版本判断
常用类添加类别添加工具方法 XLCategory
-
数组、NSData、JSON、NSString转换,判空:NSArray+XLCategory
-
字典、NSData、JSON、NSString转换,判空:NSDictionary+XLCategory
-
NSError快速创建:NSError+XLCategory
-
NSNull异常保护:NSNull+XLCategory
-
基类添加方法交换:NSObject+XLCategory
-
字符串判空、本地化、区域大小、生成唯一UUID,常用数字转字符串方法
-
指定时间格式获取、指定时间获取:NSDate+XLCategory、NSDate+XLFormatter、NSDateFormatter+XLCategory
-
16进制颜色转换,支持动态颜色:UIColor+XLCategory
-
设备类型:UIDevice+XLCategory
-
缩放字体:UIFont+XLCategory
-
图片颜色重绘、视频缩略图、图片压缩、图片剪切、纯色图片生成、截屏等:UIImage+XLCategory
-
UILabel文本显示nil保护:UILabel+XLCategory
-
UITextField占位符颜色设置,文本nil显示保护:UITextField+XLCategory
-
UITextView文本nil显示保护:UITextView+XLCategory
-
UIView圆角设置、添加分割线:UIView+XLCategory
预定义基类 XLFoundation
- XLWeakMutableArray 弱引用数组
- XLWeakMutableDictionary 弱引用字典
- NSWeakProxy 虚类实现消息转发
- XLWeakTimer 弱引用定时器
工具类 XLTools
应用信息 XLAppInfoTools
- 应用名、短版本号、版本号
应用工具 XLApplicationTools
- 第三方应用跳转或打开链接:openURLScheme
- 系统拨号:makePhoneCall
- 系统短信:sendSMS:recipients:body:delegate
- 方法调用【无参数方法】:runFuncation:target
校验工具 XLComCheckTools
- 数字校验:isNumber
- 账号校验【手机号码校验】:checkAccount:error
- 密码校验:checkPassword:error
- 密码格式校验:isPasswordFormat
- 运营商【携号转网后这个似乎无意义了】:mobileCarriers
- 手机号码校验:isMobileNumber
- 固定电话号码校验、号码校验、邮箱校验、身份证校验
文件操作工具 XLFileTools
- 常用文件操作:写、删除、文件大小、媒体文件时长、文件是否存在、缓存唯一标识符【地址】、视频转换
媒体工具 XLMediaOperateTools
- 拍照、选择照片/视频、录制视频:
通知工具类 XLNotificationTools
- 注册/移除通知,通知发送
控制器工具类 XLViewControllerTools
- 获取根控制器、获取最上层控制器、获取最上层模态控制器
部分系统控件封装 XLWidget
- XLCollectionReusableView:预设分组标题
- XLTableReusableView:预设分组标题
- XLRefreshTableView 基于MJRefresh封装的下拉刷新/上拉加载更多列表,重载/替换了部分方法,支持动态设置上拉/下拉状态
- XLTableViewCell:预设了集中常见cell类型
- XLTextView 支持设置占位符TextView,实现TextView高度变更监听
- XLBarButtonItem 导航栏按钮自定义
- XLMoreMenuView 导航栏右上角更多菜单按钮
控制器基类 - XLBase
XLNavigationController.h
- 封装了TabBar标签设置方法
- 基于XLColorConfig.h中配置的导航栏风格设置
XLBaseViewController
- 控制器基类:定义了一些初始化方法,子类覆盖后自动调用,控制导航栏隐藏的类
UIViewController+XLToast.h
- 基于第三方库MBProgressHUD的简单封装,显示提醒和等待框
- UIAlertController的简单封装
UIViewController+XLTools.h
- 控制器导航栏右侧按钮设置、隐藏等控制
- 页面跳转方法
UIViewController+XLPreview.h
- 图片预览:支持单张/多张图片【UIImage】、地址【URL】、控件【UIImageView】预览
- 支持基于SDWebImage的控件【UIImageView】预览
XLBaseTableViewController.h
- 简单的列表控制器,封装了UITableView初始化
- 支持UITableview位置自定义
XLBaseRefreshTableController.h
- 下拉刷新/上拉加载列表控制器
- 使用XLRefreshTableView基于MJRefresh的简单封装
- 支持下拉/上拉刷新重置、取消 【持续更新中....】
作者
GDXL2012, [email protected]
许可证
XLComProject 在MIT许可证下可用。更多信息请参阅LICENSE文件。