|
|
|
//
|
|
|
|
// UICommon.h
|
|
|
|
// ChineseAgri-businesses
|
|
|
|
//
|
|
|
|
// Created by ecell on 2022/6/27.
|
|
|
|
//
|
|
|
|
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#import <UIKit/UIKit.h>
|
|
|
|
#import "MyUILabel.h"
|
|
|
|
|
|
|
|
typedef enum : NSInteger
|
|
|
|
{
|
|
|
|
PYUIdirectionTop = 0,
|
|
|
|
PYUIdirectionBotton,
|
|
|
|
PYUIdirectionLeft,
|
|
|
|
PYUIdirectionRight,
|
|
|
|
PYUIdirectionNo,
|
|
|
|
}PYUIdirection;
|
|
|
|
|
|
|
|
@interface UICommon : NSObject
|
|
|
|
|
|
|
|
/// 快速创建UIView
|
|
|
|
/// @param rect 坐标
|
|
|
|
/// @param backColor 背景颜色
|
|
|
|
/// @param cornerRadius 圆角大小
|
|
|
|
/// @param borderWidth 边框
|
|
|
|
/// @param borderColor 边框颜色
|
|
|
|
+ (UIView *)ui_view:(CGRect)rect
|
|
|
|
backgroundColor:(UIColor *)backColor
|
|
|
|
cornerRadius:(CGFloat)cornerRadius
|
|
|
|
borderWidth:(CGFloat)borderWidth
|
|
|
|
borderColor:(UIColor *)borderColor;
|
|
|
|
|
|
|
|
|
|
|
|
/// 快速创建UILabel
|
|
|
|
/// @param rect 坐标
|
|
|
|
/// @param line 行数
|
|
|
|
/// @param align 字体位置
|
|
|
|
/// @param font 字体
|
|
|
|
/// @param textColor 字体颜色
|
|
|
|
/// @param text 内容
|
|
|
|
/// @param Radius 圆角大小
|
|
|
|
+ (UILabel *)ui_label:(CGRect)rect
|
|
|
|
lines:(NSInteger)line
|
|
|
|
align:(NSTextAlignment)align
|
|
|
|
font:(UIFont *)font
|
|
|
|
textColor:(UIColor *)textColor
|
|
|
|
text:(NSString *)text
|
|
|
|
Radius:(CGFloat)Radius;
|
|
|
|
|
|
|
|
#pragma mark - 快速创建带内边距UILabel
|
|
|
|
|
|
|
|
/// 快速创建UILabel
|
|
|
|
/// @param rect 坐标
|
|
|
|
/// @param line 行数
|
|
|
|
/// @param align 字体位置
|
|
|
|
/// @param font 字体
|
|
|
|
/// @param textColor 字体颜色
|
|
|
|
/// @param text 内容
|
|
|
|
/// @param Radius 圆角大小
|
|
|
|
+ (MyUILabel *)ui_myLabel:(CGRect)rect
|
|
|
|
lines:(NSInteger)line
|
|
|
|
align:(NSTextAlignment)align
|
|
|
|
font:(UIFont *)font
|
|
|
|
textColor:(UIColor *)textColor
|
|
|
|
text:(NSString *)text
|
|
|
|
Radius:(CGFloat)Radius;
|
|
|
|
|
|
|
|
/**
|
|
|
|
创建textView
|
|
|
|
|
|
|
|
@param rect 尺寸大小
|
|
|
|
@param textColor 文本颜色
|
|
|
|
@param font 字体
|
|
|
|
@param alignment 对齐方式
|
|
|
|
@param inputView 附加视图
|
|
|
|
@return 对象
|
|
|
|
*/
|
|
|
|
+ (UITextView *)ui_textView:(CGRect)rect textColor:(UIColor *)textColor backColor:(UIColor *)backColor font:(UIFont *)font alignment:(NSTextAlignment)alignment inputView:(UIView *)inputView;
|
|
|
|
|
|
|
|
/// 快速创建UIButton
|
|
|
|
/// @param rect 坐标
|
|
|
|
/// @param font 字体
|
|
|
|
/// @param normalColor 字体颜色
|
|
|
|
/// @param normalText 文字
|
|
|
|
/// @param click 点击事件
|
|
|
|
+ (UIButton *)ui_buttonSimple:(CGRect)rect
|
|
|
|
font:(UIFont *)font
|
|
|
|
normalColor:(UIColor *)normalColor
|
|
|
|
normalText:(NSString *)normalText
|
|
|
|
click:(void (^)(id x))click;
|
|
|
|
|
|
|
|
/**
|
|
|
|
创建tableView
|
|
|
|
|
|
|
|
@param rect 尺寸大小
|
|
|
|
@param style 样式
|
|
|
|
@param backColor 背景颜色
|
|
|
|
@param sth 代理对象
|
|
|
|
@param registerDic 注册内容
|
|
|
|
@return 对象
|
|
|
|
*/
|
|
|
|
+ (UITableView *)ui_tableView:(CGRect)rect style:(UITableViewStyle)style backColor:(UIColor *)backColor delegate:(id)sth registerDic:(NSDictionary *)registerDic;
|
|
|
|
|
|
|
|
|
|
|
|
/// 创建指定圆角视图
|
|
|
|
/// @param rect 坐标
|
|
|
|
/// @param direction 圆角方向
|
|
|
|
/// @param toview 圆角View
|
|
|
|
/// @param sizeMake 圆角大小
|
|
|
|
+(UIView *) ui_uiViewFillet:(CGRect)rect
|
|
|
|
Viewdirection:(PYUIdirection)direction
|
|
|
|
toView:(UIView *)toview
|
|
|
|
sizeMake:(CGFloat)sizeMake;
|
|
|
|
|
|
|
|
/// 指定圆角并带有颜色边框
|
|
|
|
/// @param view 需要添加效果的视图
|
|
|
|
/// @param corner 圆角位置
|
|
|
|
/// @param cornerRadius 圆角大小
|
|
|
|
/// @param width 边框宽度
|
|
|
|
/// @param color 边框颜色
|
|
|
|
+ (void)setupView:(UIView *)view
|
|
|
|
corners:(UIRectCorner)corner
|
|
|
|
cornerRadius:(CGFloat)cornerRadius
|
|
|
|
borderWidth:(CGFloat)width
|
|
|
|
borderColor:(UIColor *)color;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// 换算时分秒
|
|
|
|
/// @param totalSeconds 秒
|
|
|
|
/// @param type 换算类型 1 时分秒 其他 分秒
|
|
|
|
+ (NSString *)timeFormatted:(NSInteger)totalSeconds
|
|
|
|
type:(int)type;
|
|
|
|
|
|
|
|
|
|
|
|
/// @param title 文字
|
|
|
|
/// @param index 变换颜色开始位
|
|
|
|
/// @param fonts 字体
|
|
|
|
/// @param colors 颜色
|
|
|
|
+ (NSAttributedString *)attributedTextWith:(NSString *)title
|
|
|
|
index:(NSInteger)index
|
|
|
|
fonts:(UIFont *)fonts
|
|
|
|
color:(UIColor *)colors;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
创建textField
|
|
|
|
|
|
|
|
@param rect 尺寸大小
|
|
|
|
@param backColor 背景颜色
|
|
|
|
@param font 字体大小
|
|
|
|
@param maxNum 最大数量 传0表示没有限制
|
|
|
|
@param placeholderColor 默认字体颜色
|
|
|
|
@param placeholder 默认字
|
|
|
|
@param toMaxNum 设置了最大数量后回调
|
|
|
|
@param change 监听内容改变
|
|
|
|
@return 对象
|
|
|
|
*/
|
|
|
|
+ (UITextField *)ui_textField:(CGRect)rect
|
|
|
|
textColor:(UIColor *)textColor
|
|
|
|
backColor:(UIColor *)backColor
|
|
|
|
font:(UIFont *)font
|
|
|
|
maxTextNum:(NSInteger)maxNum
|
|
|
|
placeholderColor:(UIColor *)placeholderColor
|
|
|
|
placeholder:(NSString *)placeholder
|
|
|
|
toMaxNum:(void(^)(UITextField *textField))toMaxNum change:(void(^)(UITextField *textField))change;
|
|
|
|
|
|
|
|
/**
|
|
|
|
创建图片
|
|
|
|
|
|
|
|
@param rect 尺寸大小
|
|
|
|
@param name 本地图片名称 传nil则不赋值
|
|
|
|
@return 对象
|
|
|
|
*/
|
|
|
|
+ (UIImageView *)ui_imageView:(CGRect)rect fileName:(NSString *)name;
|
|
|
|
|
|
|
|
/// 设置按钮文字在图片的下面
|
|
|
|
+ (void)setTitleAndImage:(UIButton *)btn :(CGFloat)heights;
|
|
|
|
|
|
|
|
/// 带XIB界面跳转
|
|
|
|
+(UIViewController *)PusXibViewController:(UIViewController *)viewController :(NSString *)viewXibTitle;
|
|
|
|
|
|
|
|
/// 颜色转Image
|
|
|
|
/// @param color 颜色
|
|
|
|
+ (UIImage*)createImageWithColor:(UIColor*)color;
|
|
|
|
|
|
|
|
/// UIlabel 某个位置文字多种颜色
|
|
|
|
/// @param title 文字
|
|
|
|
/// @param index 变换颜色开始位
|
|
|
|
/// @param toindex 结束位
|
|
|
|
/// @param fonts 字体
|
|
|
|
/// @param colors 颜色
|
|
|
|
/// @param tocolors 其他字段颜色
|
|
|
|
/// @param line 间距
|
|
|
|
/// @param TextAlignment 字体位置
|
|
|
|
+ (NSAttributedString *)attributedTextWiths:(NSString *)title
|
|
|
|
index:(NSInteger)index
|
|
|
|
toindex:(NSInteger)toindex
|
|
|
|
fonts:(UIFont *)fonts
|
|
|
|
color:(UIColor *)colors
|
|
|
|
tocolor:(UIColor *)tocolors
|
|
|
|
line:(CGFloat)line
|
|
|
|
TextAlignment:(NSTextAlignment)TextAlignment;
|
|
|
|
|
|
|
|
+ (NSString *)getShowDateWithTime:(NSString *)time;
|
|
|
|
|
|
|
|
+ (void)BtnLaye:(UIButton *)btn colors:(UIColor *)BtnColor BtnRadius:(CGFloat)BtnRadius;
|
|
|
|
|
|
|
|
|
|
|
|
/// 成功提示框
|
|
|
|
/// @param text 提示问题
|
|
|
|
+ (void)MessageSuccessText:(NSString *)text isImg:(BOOL)isImg;
|
|
|
|
|
|
|
|
/// 错误提示框
|
|
|
|
/// @param text 提示文字
|
|
|
|
+ (void)MessageErrorText:(NSString *)text;
|
|
|
|
|
|
|
|
/// 加载提示框
|
|
|
|
/// @param text 提示文字
|
|
|
|
+ (void)MessageUpload:(NSString *)text;
|
|
|
|
|
|
|
|
/// 隐藏提示框
|
|
|
|
+ (void)HidenLoading;
|
|
|
|
|
|
|
|
/// 指定字符大小
|
|
|
|
/// @param text 内容
|
|
|
|
+ (NSAttributedString *)labelFontSize:(NSString *)text;
|
|
|
|
|
|
|
|
/// 画删除线
|
|
|
|
/// @param label label
|
|
|
|
+ (void)drawLine:(UILabel *)label;
|
|
|
|
|
|
|
|
+ (void)drawLine_ll:(UILabel *)label;
|
|
|
|
|
|
|
|
+ (UIViewController *)currentVC;
|
|
|
|
|
|
|
|
+ (void)setBtnUpImageDownTitle:(UIButton *)btn;
|
|
|
|
|
|
|
|
/// 之间戳转换成时间
|
|
|
|
/// @param time 时间戳
|
|
|
|
/// @param type 默认 年月日时分秒 MM:月日时分秒 DD:日时分秒 HH:时分秒
|
|
|
|
+ (NSString *)getTimeFromTimestamp:(NSString *)time type:(NSString *)type;
|
|
|
|
|
|
|
|
/// 时间转换成几天、几小时、几分钟前
|
|
|
|
+ (NSString *)updateTimeForRow:(NSString *)createTimeString;
|
|
|
|
|
|
|
|
/// 之间戳转换成时间
|
|
|
|
/// @param time 时间戳
|
|
|
|
+ (NSString *)getTimeFromTimestamp_n:(NSString *)time;
|
|
|
|
|
|
|
|
/// 获取当前月的下一个月到某个日期内的所有月份
|
|
|
|
/// @param fromDateStr 起始月份 不传则获取半年内的月份
|
|
|
|
+ (NSArray *)returnSixYearAndMonth:(NSString*)fromDateStr;
|
|
|
|
|
|
|
|
/// 获取月份
|
|
|
|
/// @param monthNum -1为当前月份的前一个月,1为后一个月,以此类推
|
|
|
|
+ (NSString *)setupRequestMonth:(NSInteger)monthNum;
|
|
|
|
|
|
|
|
|
|
|
|
//根据颜色返回图片
|
|
|
|
+(UIImage*) imageWithColor:(UIColor*)color;
|
|
|
|
|
|
|
|
/// 划虚线
|
|
|
|
+ (void)xuxian:(UIView *)view;
|
|
|
|
|
|
|
|
|
|
|
|
/// json转字典
|
|
|
|
/// @param jsonString json
|
|
|
|
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString;
|
|
|
|
|
|
|
|
/// 字典转json
|
|
|
|
/// @param dic 字典
|
|
|
|
+ (NSString*)dictionaryToJson:(NSDictionary *)dic;
|
|
|
|
|
|
|
|
/// 判断字符串是否是json
|
|
|
|
/// @param jsonString 字符串
|
|
|
|
+ (BOOL)isJsonString:(NSString *)jsonString;
|
|
|
|
|
|
|
|
+ (void)setExtraCellLineHidden:(UITableViewCell *)cell;
|
|
|
|
|
|
|
|
+ (void)setTavleViewlink:(UITableView *)tableview
|
|
|
|
distance:(CGFloat)distance;
|
|
|
|
|
|
|
|
/// 设置cell第一行和最后一行圆角
|
|
|
|
/// - Parameters:
|
|
|
|
/// - tableView: UITableView
|
|
|
|
/// - cell: cell
|
|
|
|
/// - indexPath: indexPath
|
|
|
|
/// - coutn: 总行数
|
|
|
|
/// - sizeH: 左右边距
|
|
|
|
+ (void)tableView:(UITableView *)tableView
|
|
|
|
willDisplayCell:(UITableViewCell *)cell
|
|
|
|
forRowAtIndexPath:(NSIndexPath *)indexPath
|
|
|
|
cellCoutn:(NSInteger)coutn
|
|
|
|
sizeH:(CGFloat)sizeH;
|
|
|
|
|
|
|
|
/// 颜色渐变
|
|
|
|
+ (UIColor *)setGradientBackgroundColor:(UIColor *)Color1
|
|
|
|
Color2:(UIColor *)Color2
|
|
|
|
Width:(CGFloat)Width
|
|
|
|
Height:(CGFloat)Height;
|
|
|
|
|
|
|
|
/// 颜色渐变
|
|
|
|
+ (UIImage *)setGradientBackgroundImg:(UIColor *)Color1
|
|
|
|
Color2:(UIColor *)Color2
|
|
|
|
Width:(CGFloat)Width
|
|
|
|
Height:(CGFloat)Height;
|
|
|
|
|
|
|
|
void AfterDispatch(double delayInSeconds, dispatch_block_t _Nullable block);
|
|
|
|
|
|
|
|
//获取八位数code
|
|
|
|
+ (NSString *)getRandomEightCode;
|
|
|
|
|
|
|
|
/// 震动反馈
|
|
|
|
+ (void)feedbackGenerator;
|
|
|
|
|
|
|
|
// 消除键盘
|
|
|
|
+ (void)resignKeyboard;
|
|
|
|
|
|
|
|
|
|
|
|
/// 给UITextField设置左右侧的图片
|
|
|
|
/// @param textField textField
|
|
|
|
/// @param leftImageName 左侧UIImageView图片名称
|
|
|
|
/// @param rightImageName 右侧UIButton图片名称
|
|
|
|
/// @param click 右侧UIButton点击事件回调
|
|
|
|
+ (void)setRightViewWithTextField:(UITextField *_Nullable)textField
|
|
|
|
leftImageName:(NSString *_Nullable)leftImageName
|
|
|
|
rightImageName:(NSString *_Nullable)rightImageName
|
|
|
|
click:(void (^)(UITextField *textField))click;
|
|
|
|
|
|
|
|
#pragma mark 二维码 URL获取 参数
|
|
|
|
+ (NSMutableDictionary *_Nullable)getDicWithUrl:(NSString *_Nullable)urlStr;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//获取当前系统时间
|
|
|
|
+ (NSString *_Nonnull)getSysTime;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取文字宽度、高度
|
|
|
|
/// - Parameters:
|
|
|
|
/// - text: 需要计算的文字
|
|
|
|
/// - heights: 控件高度
|
|
|
|
/// - size: 文字大小
|
|
|
|
/// - type: w/W:宽度 ,h/H:高度
|
|
|
|
+ (CGRect)GetTextWidth:(NSString *)text ViewHeight:(CGFloat)heights fontSize:(UIFont *)size type:(NSString *)type;
|
|
|
|
|
|
|
|
+ (NSDate*)getTimeStrWithString:(NSString*)str;
|
|
|
|
|
|
|
|
/// 图片质量压缩
|
|
|
|
+(UIImage *)reduceImage:(UIImage *)image percent:(float)percent;
|
|
|
|
|
|
|
|
+ (UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size;
|
|
|
|
|
|
|
|
/// 获取当前一周的日期
|
|
|
|
+ (NSMutableArray *)backWeeksTimeNumber;
|
|
|
|
|
|
|
|
+ (CAGradientLayer *)setGradualChangingColor:(UIView *)view fromColor:(UIColor *)fromHexColor toColor:(UIColor *)toHexColor;
|
|
|
|
|
|
|
|
/// 改变label文字行间距
|
|
|
|
/// @param text 内容
|
|
|
|
+ (NSAttributedString *)labelLinesHeight:(NSString *)text
|
|
|
|
height:(CGFloat)height
|
|
|
|
align:(NSTextAlignment)align;
|
|
|
|
@end
|
|
|
|
|
|
|
|
|