You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
370 lines
11 KiB
370 lines
11 KiB
// |
|
// 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 |
|
|
|
|
|
|