LCTools.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. //
  2. // LCTools.h
  3. // LiveChat
  4. //
  5. // Created by 张灿 on 2018/4/10.
  6. // Copyright © 2018年 caicai. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @interface YOUPAILZRichTextStyle : NSObject
  10. @property (nonatomic, strong) NSString *text;
  11. @property (nonatomic, strong) UIFont *font;
  12. @property (nonatomic, strong) UIColor *color;
  13. + (instancetype)richTextStyleWithText:(NSString *)text font:(UIFont *)font color:(UIColor *)color;
  14. - (instancetype)initWithText:(NSString *)text font:(UIFont *)font color:(UIColor *)color;
  15. @end
  16. typedef enum {
  17. GradientTopToBottom = 0,//从上到下
  18. GradientLeftToRight = 1,//从左到右
  19. GradientupleftTolowRight = 2,//左上到右下
  20. GradientUprightTolowLeft = 3,//右上到左下
  21. }GradientType;
  22. typedef void (^ImageFinishBlock)(UIImage *image);
  23. typedef void (^OriginalOBlock)(UIImage *image);
  24. @interface LCTools : NSObject<UIImagePickerControllerDelegate,UIActionSheetDelegate,UINavigationControllerDelegate>
  25. @property(nonatomic,strong)ImageFinishBlock imgblock;
  26. @property(nonatomic,strong)OriginalOBlock originalImage;
  27. @property(nonatomic,strong)id VC;
  28. +(id)share;
  29. // 获取状态栏高度
  30. + (CGFloat)getStatusBarHight;
  31. /* <#Annotation#> */
  32. @property (strong, nonatomic) UIImagePickerController *cameraUI;
  33. /**
  34. 只展示图片
  35. */
  36. @property(nonatomic, assign)BOOL onlyShowImage;
  37. //更新tabbar中间按钮状态
  38. + (void)updateTabCenter;
  39. //获取当前控制器
  40. + (UIViewController *)getCurrentVC;
  41. + (UIViewController *)getContainNavigationControllerCurrentVC;
  42. //获取控制器
  43. +(UIViewController *)getNilPresentationController:(UIViewController *)viewController;
  44. //根据礼物ID获取图片
  45. + (UIImage*)giftImgWithGiftUrlStr:(NSString*)giftUrlStr;
  46. //根据SVGAID获取礼物动画
  47. + (NSData *)giftSVGAWithSvgaUrlStr:(NSString*)svgaUrlStr;
  48. //切除边角
  49. + (void)clipCorner:(UIRectCorner)corner View:(UIView*)view size:(CGSize)size;
  50. //得到APP的签名
  51. + (NSString *)hmac:(NSString *)plaintext withKey:(NSString *)key;
  52. //获取设备的唯一标识
  53. + (NSString*)getUUIDString;
  54. //获取设备的型号
  55. + (NSString*)iphoneType;
  56. //获取网络状态
  57. + (NSString *)getNetworkType;
  58. //获得随机背景色
  59. + (UIColor*)getBkgRandomColor;
  60. //获取当前时间戳
  61. + (NSString*)getCurrentTimestamp;
  62. //获取当前时间戳 豪秒
  63. + (NSString*)getCurrentMillisecondTimestamp;
  64. //获取剪切板数据包含#caicai#的后面字符串
  65. + (NSString*)getPasteString;
  66. //获取剪切板数据
  67. + (void)extractPasteboardSource:(void(^)(NSString *extractSource))handle;
  68. //数值单位转换
  69. + (NSString*)integralChange:(NSInteger)integral;
  70. //更新b版本
  71. +(void)checkUpdateNeedTip:(BOOL)need;
  72. + (UIImage *)image:(UIImage *)image rotation:(UIImageOrientation)orientation;
  73. //页面跳转
  74. + (void)changeRootToTabbar;
  75. + (void)changeRootToLogin;
  76. + (void)kickBackToLogin; //退出登录
  77. + (void)updateMessageUnread; //更新应用内未读消息数
  78. //设置线性渐变
  79. + (UIImage*) ColorImage:(CGSize)size FromColors:(NSArray*)colors ByGradientType:(GradientType)gradientType;
  80. +(CAGradientLayer*)getGradientLayerWithSize:(CGSize)size twoColors:(NSArray*)twoColors gradientType:(GradientType)gradientType;
  81. // 刘某人自定义 渐变色转图片 --------
  82. + (UIImage *)imageFromLayer:(CALayer *)layer;
  83. + (UIImage *)imageForSize:(CGSize)size colors:(NSArray*)colors locations:(NSArray *)locas ByGradientType:(GradientType)gradientType;
  84. // 刘某人自定义 渐变色转图片 end--------
  85. //是否显示评分弹框
  86. + (BOOL)canShowAppraise;
  87. //是否显示关闭通知提醒
  88. + (BOOL)canShowNoticationTip;
  89. //根据城市名字获取城市ID
  90. + (NSString*)getCityIDWithCityName:(NSString*)name;
  91. + (NSURL*)getImageUrlWithAddress:(NSString*)address;
  92. + (void)setShadow:(CALayer*)layer Color:(UIColor*)color;
  93. ///// 获取vip标记
  94. //+ (UIImage *)getVipImageWithLevel:(NSInteger)level;
  95. ///// 获取vip标记 带有VIP名字的图片
  96. //+ (UIImage *)getVipNameImageWithLevel:(NSInteger)level;
  97. ///// 获取vip标记 带有VIP名字的Size
  98. //+ (CGSize)getVipNameSizeWithLevel:(NSInteger)level;
  99. ///// 获取vip标记 带有VIP的Size
  100. //+ (CGSize)getVipSizeWithLevel:(NSInteger)level;
  101. ///// 获取vip飘窗背景颜色
  102. //+ (NSArray <UIColor *> *)getVipBgColorWithLevel:(NSInteger)level;
  103. ///// 获取VIP名字
  104. //+ (NSString *)getVipNameWithLevel:(NSInteger)level;
  105. //数据转换为字符串
  106. //+ (NSString*)integralChange:(NSInteger)integral;
  107. + (NSAttributedString *)setRichTextFormat:(NSArray <YOUPAILZRichTextStyle *>*)richTextStyles;
  108. + (NSAttributedString *)setRichTextWithTitle:(NSString *)title subTitle:(NSString *)subTitle titleColor:(UIColor *)titleColor subTitleColor:(UIColor *)subTitleColor titleFontSize:(CGFloat)size subTitleFontSize:(CGFloat)subSize;
  109. /// 富文本
  110. /// @param title 标题1
  111. /// @param subTitle 标题2
  112. /// @param titleColor 标题1颜色
  113. /// @param subTitleColor 标题2颜色
  114. /// @param size 标题1字体
  115. /// @param subSize 标题2字体
  116. /// @param isfirstFontBlod 标题1字体是否加粗yes 为加粗
  117. + (NSAttributedString *)setRichTextWithTitle:(NSString *)title subTitle:(NSString *)subTitle titleColor:(UIColor *)titleColor subTitleColor:(UIColor *)subTitleColor titleFontSize:(CGFloat)size subTitleFontSize:(CGFloat)subSize IsfirstFontBlod:(BOOL)isfirstFontBlod;
  118. //// 行首缩进-行尾缩进
  119. //+ (NSAttributedString *)attributedString:(NSAttributedString *)attrStr headIndent:(CGFloat)headIndent tailIndent:(CGFloat)tailIndent;
  120. /// 生成随机文件名
  121. + (NSString *)randomFilename;
  122. /// 生成随机数
  123. /// @param length 长度
  124. /// @return 随机数
  125. + (NSString *)randomNumberWithLength:(NSInteger)length;
  126. /**
  127. 根据传入的码内容和中心图片生成一张中间带有图片的二维码
  128. @param codeStr 码内容
  129. @param centerIMG 中心图片
  130. @return 生成的二维码
  131. */
  132. + (UIImage *)createQRCodeImageHaveCenterIMG:(NSString *)codeStr centerIMG:(UIImage *)centerIMG;
  133. -(void)readFromAlum:(id)viewController block:(ImageFinishBlock)ImageBlock;//头像打开相册
  134. -(void)readFromcamera:(id)viewController block:(ImageFinishBlock)ImageBlock;//头像打开相机
  135. //返回字符串的宽
  136. + (CGFloat)widthWithString:(NSString *)string withFont:(UIFont *)font;
  137. +(NSDate *)stringToDate:(NSString *)dateStr:(BOOL)type;
  138. +(NSString *)getMonthLastDayWithDate:(NSDate *)date format:(NSString *)aformat;
  139. +(NSString *)getMonthFirstDayWithDate:(NSDate *)date format:(NSString *)aformat;
  140. + (BOOL)isInSameMonth:(int64_t)time1 time2:(int64_t)time2;
  141. //openInstall的动态参数操作
  142. +(void)saveBindData:(NSString*)bindData;
  143. +(NSString*)getbindData;
  144. //openInstall的渠道编号操作
  145. +(void)saveChannelCode:(NSString*)channelCode;
  146. +(NSString*)getchannelCode;
  147. +(BOOL)isIdCard:(NSString *)idcard;
  148. /// 去认证页面
  149. + (void)goRealNamePage;
  150. /// 是否实名认证
  151. + (BOOL)isRealNameAuthentication;
  152. + (BOOL)isGirlsRealNameAuthentication;
  153. /// 阿里实名认证
  154. + (void)youpaifrealNameAuthentication;
  155. @end