iTools.h 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. //
  2. // iTools.h
  3. // VclustersGemini
  4. //
  5. // Created by 余衡武 on 2020/4/1.
  6. // Copyright © 2020 APPLE. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. @interface iTools : NSObject
  11. #pragma mark 字典、数组转JSONString
  12. /** 字典转JSONString */
  13. + (NSString *)getJSONStringFromDictionary:(NSDictionary *)dict;
  14. /** 数组转JSONString */
  15. + (NSString *)getJSONStringFromArray:(NSArray *)array;
  16. #pragma mark 时间戳
  17. /** 获取当前时间戳-以秒为单位-return NSInteger */
  18. + (NSInteger)getNowTimeStamp;
  19. /** 获取当前时间戳-以秒为单位-return yyyy/MM/dd HH:mm */
  20. + (NSString *)getNowTimeString;
  21. /** 获取当前时间戳-以秒为单位-return yyyyy年MM月dd日 HH:mm:ss */
  22. + (NSString *)getNowTimeString1;
  23. /** 获取当前时间戳-以秒为单位-return yyyyy-MM-dd HH:mm:ss */
  24. + (NSString *)getNowTimeString2;
  25. /** 获取当前时间戳-以毫秒为单位-return NSInteger */
  26. + (NSInteger)getNowTimeStampSS;
  27. /** 获取当前时间戳-以毫秒为单位--return YYYYMMddhhmmssSSS */
  28. + (NSString *)getNowTimeStampString;
  29. /** 获取当前时间戳-以天为单位--return yyyy-MM-dd */
  30. + (NSString *)getNowDateString;
  31. /** 获取现在到某个时间点的时间戳*/
  32. + (NSInteger)getNowTimeStampToInterval:(NSTimeInterval)second;
  33. /** 把字符串转时间戳Date YYYYMMddhhmmssSSS*/
  34. + (NSDate *)getTimeStringToDate:(NSString *)timeStr;
  35. /**时间戳转字符串-yyyy/MM/dd HH:mm*/
  36. + (NSString *)getTimeStringFromTimeInterval:(NSInteger)timeInterval;
  37. /** 秒转播放时间HH:mm:ss */
  38. + (NSString *)getPlayTimeStringFromTimeInterval:(NSTimeInterval)timeInterval;
  39. #pragma mark 通讯录备份
  40. //ypp add 通讯录文件名格式YmdHis+随机数字(1000~9999) 2020 07 07 15 08 25 1000
  41. + (NSString *)getContactsNameStr;
  42. #pragma mark 绘制图片
  43. /** 根据颜色绘制图片 */
  44. + (UIImage*)createImageWithColor:(UIColor*)color;
  45. /** 根据颜色和view 绘制指定大小的图片 */
  46. + (UIImage *)imageFromColor:(UIColor *)color view:(UIView *)view;
  47. /** 根据颜色和rect 绘制指定大小的图片 */
  48. + (UIImage *)getImageFromColor:(UIColor *)color rect:(CGRect)rect;
  49. /** 根据颜色和size 绘制指定大小的图片 */
  50. + (UIImage *)createImageWithColor:(UIColor *)color withSize:(CGSize)size;
  51. /**根据uiview得到图像UIImage*/
  52. + (UIImage *)getImageFromView:(UIView *)fromView useScreenScale:(BOOL)use useNewMethod:(BOOL)useNewMethod;
  53. /**彩色图变黑白图*/
  54. + (UIImage*)getGrayImageFromImage:(UIImage*)sourceImage;
  55. #pragma mark 绘制圆角
  56. /**圆角切割*/
  57. + (CAShapeLayer *)getCornerRoundWithSelfView:(UIView *)originalView byRoundingCorners:(UIRectCorner)corners cornerRect:(CGRect)rect;
  58. + (CAShapeLayer *)getCornerRoundWithSelfView:(UIView *)originalView byRoundingCorners:(UIRectCorner)corners cornerRect:(CGRect)rect radius:(CGFloat)radius;
  59. #pragma mark 小数取整 (不四舍五入)
  60. /** 小数取整 不四舍五入 */
  61. + (NSString *)notRounding:(float)price afterPoint:(int)position;
  62. /** 小数取整 不四舍五入 */
  63. + (CGFloat)notRoundingFloat:(float)price afterPoint:(int)position;
  64. /** 小数点格式化*/
  65. + (NSString *)formatFloat:(float)f;
  66. #pragma mark 字符串处理
  67. /** 去除字符串中所有的空格和换行符(包括中间和首尾) */
  68. + (NSString *)removeSpaceAndNewline:(NSString *)str;
  69. /** 获取拼音首字母(传入汉字字符串, 返回大写拼音首字母)*/
  70. + (NSString *)FirstCharactor:(NSString *)pString;
  71. #pragma mark 系统语言
  72. /** 获取当前系统的语言 */
  73. + (NSString *)getCurrentLocalizableLanguage;
  74. /** 当前语言是否为中文 */
  75. + (BOOL)isChineseLanguage; /** 得到当前语言是否为中文 */
  76. #pragma mark push到指定vc
  77. /**push到vc 控制器
  78. * 1、NavigationController之前有push过就back
  79. * 2、NavigationController之前没有push过就push
  80. */
  81. + (void)pushVCWithBackOrPushFromNvc:(UINavigationController *)nvc toVc:(UIViewController *)vc;
  82. #pragma mark 文件大小格式化
  83. /**将文件大小B 自动转成对应的B KB MB GB**/
  84. + (NSString *)getFileSizeStringFormedValue:(NSInteger)value;
  85. #pragma mark 获取文件MD5值
  86. /**获取文件MD5值*/
  87. + (NSString*)getFileMD5WithPath:(NSString*)path;
  88. #pragma mark 关闭声音
  89. /**关闭其他播放声音*/
  90. + (void)closeVoice;
  91. #pragma mark 其他
  92. /**防止N秒内,同部同接口频繁调用的处理*/
  93. + (BOOL)timeOverTosecode:(NSInteger)index bannerOldTime:(NSString *)bannerOldTime;
  94. /**根据文件ID 获取文件中心文件URL地址*/
  95. + (NSURL *)getFileUrlFromFileID:(NSString *)ID;
  96. /**显示Base64二进制图片*/
  97. + (void)setImageView:(UIImageView *)imageView WithBase64String:(NSString *)avatar;
  98. // iOS裁剪掉图片周围透明度为0的部分
  99. + (UIImage *)cutAlphaZero:(UIImage *)image;
  100. /**push到vc 控制器
  101. * 1、NavigationController之前有push过就back
  102. * 2、NavigationController之前没有push过就push
  103. */
  104. + (void)pushVCWithBackOrPushFromNvc:(UINavigationController *)nvc toVc:(UIViewController *)vc;
  105. /**获取phoneId在CloudPhoneList中的索引*/
  106. + (NSUInteger)getIndexFromCloudPhoneListWithPhoneID:(NSInteger)phoneId;
  107. /*获取网络时间*/
  108. + (NSDate *)getInternetDate;
  109. + (NSString *)getInternetDateString;
  110. + (UIWindow *)getKeyWindow;
  111. //
  112. + (NSString *)getTaskUidStr;
  113. //更换图标
  114. + (void)lc_setAlternateIconName:(NSString*)iconName;
  115. + (UIViewController *)appRootViewController;
  116. //压缩图片对对应尺寸
  117. + (UIImage*)OriginImage:(UIImage *)image scaleToSize:(CGSize)size;
  118. // 时间戳转时间,时间戳为13位是精确到毫秒的,10位精确到秒
  119. + (NSString *)getDateStringWithTimeStr:(NSString* )str;
  120. @end
  121. NS_ASSUME_NONNULL_END