// // UICommon.h // ChineseAgri-businesses // // Created by ecell on 2022/6/27. // #import #import #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