TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Oct 2017 |
Maintained by gfy10010.
1.下载 XESCategory 文件夹内的所有内容。
2.将 XESCategory 内的源文件添加(拖放)到你的工程。
3.导入 XESCategoryHeader.h。
Category增加了部分常用的分类。
1、通过字符串来计算宽度和高度。
2、判断字符串是否为空(nil、Nil、NULL、NSNull对象均视为空)。
3、针对NSNumber类型转字符串。
4、针对nil、Nil、NULL、NSNull对象转成空字符串。
3.1.1 提供的接口
/**
字符串根据字体和展示范围计算size
@param font 字体
@param size size
@param lineBreakMode 折行方式
@return size
*/
- (CGSize)xes_sizeForFont:(UIFont *)font size:(CGSize)size mode:(NSLineBreakMode)lineBreakMode;
/**
字符串根据字体和宽度 计算高度
适用于 多行文本显示计算
@param font 字体
@param width 宽度
@return 高度值
*/
- (CGFloat)xes_heightForFont:(UIFont *)font width:(CGFloat)width;
/**
字符串根据字体 计算宽度
适用于 单行文本显示计算
@param font 字体
@return 宽度
*/
- (CGFloat)xes_widthForFont:(UIFont *)font;
/**
返回安全字符串
针对NSNumber类型转字符串,针对nil、Nil、NULL、NSNull对象转成空字符串。
@param string 字符串
@return 安全字符串
*/
+ (NSString *)xes_safeString:(NSString*)string;
/**
判断字符串是否为空
@param string 字符串
@return 字符串是否为空返回YES NO
*/
+ (BOOL)xes_isBlankString:(NSString *)string;
3.1.2 示例代码
1、注册观察者、移除观察者、发送通知、处理通知。
2、磁盘空间的计算、文件夹占用空间计算。
3.2.1 提供的接口
/**
硬盘总大小
@return 字节
*/
+ (NSString *)xes_hardDiskAllSize;
/**
可用空间大小
@return 字节
*/
+ (NSString *)xes_freeSpaceSzie;
/**
硬盘空间是否可以存储
@param size 字节格式
@return 返回是否可以
*/
+ (BOOL)xes_isSaveHardDisk:(long long)size;
/**
指定路径文件夹大小
@param folderPath 文件夹路径
@return 字节
*/
+(long long)xes_hardDiskSizeWithfolderPath:(NSString *)folderPath;
/**
指定路径文件大小
@param path 路径
@return 字节
*/
+ (long long)xes_fileSizeAtPath:(NSString *)path;
3.2.2 示例代码
1、NSArray类方法初始化传入object为nil的处理。
2、NSArray取值越界的处理。
3.3.1 提供的接口
/**
NSArray取值越界的处理
@param index index
@return value
*/
- (id)xes_safeObjectAtIndex:(NSUInteger)index;
/**
NSArray类方法初始化传入object为nil的处理
@param object object
@return array
*/
+ (instancetype)xes_safeArrayWithObject:(id)object;
3.3.2 示例代码
当前layer截图。
3.4.1 提供的接口
/**
layer截图 大小和layer一致
@return UIImage对象
*/
- (nullable UIImage *)xes_snapshotImage;
3.4.2 示例代码
1、根据颜色生成一个image对象。
2、使用自定义绘制代码创建和返回图像。
3、图像的缩放。
4、图像的裁剪。
5、图像设置圆角。
6、图像的旋转。
3.5.1 提供的接口
/**
通过color生成一个UIImage对象
@param color color
@return UIImage对象
*/
+ (nullable UIImage *)xes_imageWithColor:(UIColor *_Nullable)color;
/**
返回从该图像缩放的新图像。
图像将根据需要拉伸。
@param size 要缩放的新大小,值应该是正的。
@return 给定尺寸的新图像
*/
- (nullable UIImage *)xes_imageByResizeToSize:(CGSize)size;
/**
返回图片区域内设定裁剪区域的UIImage
裁剪区域需要在图片内部
@param rect 裁剪区域
@return 裁剪的UIImage
*/
- (nullable UIImage *)xes_imageByCropToRect:(CGRect)rect;
/**
返回一个圆角的UIImage
传入的radius如果超过UIImage的宽度或者高度 两者最小值的一半的话 就会自动设置为宽度高度最小值的一半
@param radius 圆角半径
@return 返回一个设置圆角的UIImage
*/
- (nullable UIImage *)xes_imageByRoundCornerRadius:(CGFloat)radius;
/**
逆时针旋转90度⤺
宽高交换
@return 返回一个逆时针旋转90度的UIImage
*/
- (nullable UIImage *)xes_imageByRotateLeft90;
/**
顺时针旋转90度⤼
宽高交换
@return 返回一个顺时针旋转90度的UIImage
*/
- (nullable UIImage *)xes_imageByRotateRight90;
3.5.2 示例代码
1、通过16进制字符串颜色值生成一个UIColor对象。
2、生成随机颜色。
3、生成一个渐变颜色。
3.6.1 提供的接口
/**
通过hex string 创建一个color对象
例子: @"0xF0F", @"66ccff", @"#66CCFF88"
@param hexStr hex string
@return color对象
*/
+ (UIColor *)xes_colorWithHexString:(NSString *)hexStr;
/**
通过hex string 创建一个color对象
例子: @"0xF0F", @"66ccff", @"#66CCFF88"
@param hexStr hex string
@param alpha 透明度
@return color对象
*/
+ (UIColor *)xes_colorWithHexString:(NSString *)hexStr alpha:(CGFloat)alpha;;
/**
* @brief 随机颜色
*
* @return UIColor
*/
+ (UIColor *)xes_randomColor;
/**
* @brief 渐变颜色
*
* @param c1 开始颜色
* @param c2 结束颜色
* @param height 渐变高度
*
* @return 渐变颜色
*/
+ (UIColor *)xes_gradientFromColor:(UIColor *)c1 toColor:(UIColor *)c2 withHeight:(int)height;
3.6.2 示例代码
1、UIScrollView滚动动画到底端、顶端、左端、右端。
3.7.1 提供的接口
/**
滚动内容到顶部的动画
*/
- (void)xes_scrollToTop;
/**
滚动内容到底部的动画
*/
- (void)xes_scrollToBottom;
/**
滚动内容向左动画.
*/
- (void)xes_scrollToLeft;
/**
滚动内容到右边的动画.
*/
- (void)xes_scrollToRight;
/**
Scroll content to top
@param animated Use animation.
*/
- (void)xes_scrollToTopAnimated:(BOOL)animated;
/**
滚动内容到底部的动画.
@param animated Use animation.
*/
- (void)xes_scrollToBottomAnimated:(BOOL)animated;
/**
滚动内容向左动画..
@param animated Use animation.
*/
- (void)xes_scrollToLeftAnimated:(BOOL)animated;
/**
滚动内容到右边的动画.
@param animated Use animation.
*/
- (void)xes_scrollToRightAnimated:(BOOL)animated;
3.7.2 示例代码
UITextField选中所有文本和选中指定范围的文本。
3.8.1 提供的接口
/**
选择所有文本
*/
- (void)sex_selectAllText;
/**
在选定的范围内设置文本
@param range 在文档中选择的文本的范围
*/
- (void)xes_setSelectedRange:(NSRange)range;
3.8.2 示例代码
1、生成一张view的截图。
2、删除该View的所有子试图。
3、设置圆角。
4、获取一个view 所在的ViewController
3.9.1 提供的接口
/**
创建完整视图层次结构的快照映像
@return Image
*/
- (UIImage *)xes_snapshotImage;
/**
创建完整视图层次结构的快照映像 (速度比[self xes_snapshotImage]更快)
@param afterUpdates 参数为YES,代表视图的属性改变渲染完毕后截屏,参数为NO代表立刻将当前状态的视图截图
@return Image
*/
- (UIImage *)xes_snapshotImageAfterScreenUpdates:(BOOL)afterUpdates;
/**
删除所有子视图view
*/
- (void)xes_removeAllSubviews;
/**
设置圆角
@param radius 圆角半径
*/
- (void)xes_setCornerRadius:(CGFloat)radius;
3.9.2 示例代码