BGUtils.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. //
  2. // BGUtils.h
  3. // BuguLive
  4. //
  5. // Created by xfg on 2017/3/14.
  6. // Copyright © 2017年 xfg. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. typedef void(^ValidateUrl) (NSURL *currentUrl,BOOL isSucc);
  10. typedef enum : NSUInteger {
  11. LeShadowPathTop,
  12. LeShadowPathLeft,
  13. LeShadowPathRight,
  14. LeShadowPathBottom,
  15. LeShadowPathCommon,
  16. LeShadowPathAround,
  17. } LeShadowPathType;
  18. @interface BGUtils : NSObject
  19. #pragma mark - ----------------------- 图片 -----------------------
  20. /**
  21. 下载图片
  22. @param url 图片url
  23. @param place 预置图片
  24. @param imageView 放置的图片
  25. */
  26. + (void)downloadImage:(NSString *)url place:(UIImage *)place imageView:(UIImageView *)imageView;
  27. /**
  28. 画虚线
  29. @param frame 虚线的Frame
  30. @return UIImageView
  31. */
  32. + (UIImageView *)dottedLine:(CGRect)frame;
  33. /**
  34. 根据颜色生成图片
  35. @param color 颜色
  36. @return UIImage
  37. */
  38. + (UIImage *)imageWithColor:(UIColor*)color;
  39. /**
  40. 根据颜色生成图片
  41. @param color 颜色
  42. @param size 尺寸
  43. @return UIImage
  44. */
  45. + (UIImage *)imageWithColor:(UIColor *)color andSize:(CGSize)size;
  46. /**
  47. 通过图片Data数据第一个字节 来获取图片扩展名
  48. @param data 图片Data数据第一个字节
  49. @return 返回图片类型
  50. */
  51. + (NSString *)contentTypeForImageData:(NSData *)data;
  52. /**
  53. 图片拉伸
  54. @param imageName 图片名称
  55. @return 返回拉伸后的图片
  56. */
  57. + (UIImage *)resizableImage:(NSString *)imageName;
  58. /**
  59. 图片拉伸2
  60. @param imageName 图片名称
  61. @param edgeInsets 上、下相对于高的拉伸比例,左、右相对于宽的拉伸比例,比例:0~1之间
  62. @return 返回拉伸后的图片
  63. */
  64. + (UIImage *)resizableImage:(NSString *)imageName edgeInsets:(UIEdgeInsets)edgeInsets;
  65. /**
  66. 获得灰度图
  67. @param sourceImage 原图
  68. @return 返回处理后的图片
  69. */
  70. + (UIImage*)covertToGrayImageFromImage:(UIImage*)sourceImage;
  71. /**
  72. 根据bundle中的文件名读取图片
  73. @param name 图片名称
  74. @return 返回图片
  75. */
  76. + (UIImage *)imageWithFileName:(NSString *)name;
  77. #pragma mark - ----------------------- 字符串 -----------------------
  78. /**
  79. 是否空字符串
  80. @param string 字符串
  81. @return BOOL
  82. */
  83. + (BOOL)isBlankString:(NSString *)string;
  84. /**
  85. 判断字符串是否由数字组成
  86. @param string 字符
  87. @return BOOL
  88. */
  89. + (BOOL)isAllNum:(NSString *)string;
  90. /**
  91. 判断字符串是否为整数型
  92. @param string 字符串
  93. @return BOOL
  94. */
  95. + (BOOL)isPureInt:(NSString *)string;
  96. /**
  97. 判断是否为布谷验证字符串
  98. @param string 字符串
  99. @return BOOL
  100. */
  101. + (BOOL)isFanwePwd:(NSString*)string;
  102. /**
  103. 解决字符串乱码问题
  104. @param str 字符串
  105. @return NSString
  106. */
  107. + (NSString*)returnUF8String:(NSString*)str;
  108. /**
  109. float保留的位数,并返回string
  110. @param floatNum float数字
  111. @param markStr 单位
  112. @return NSString
  113. */
  114. + (NSString *)floatReservedString:(float)floatNum markStr:(NSString *)markStr;
  115. /**
  116. float保留的位数,并返回string
  117. @param floatNum float数字
  118. @param markBackStr 单位
  119. @return NSString
  120. */
  121. + (NSString *)floatReservedString:(float)floatNum markBackStr:(NSString *)markBackStr;
  122. /**
  123. 判断传入的字符串是否符合HTTP路径的语法规则,即”HTTPS://” 或 “HTTP://”
  124. @param str 字符串
  125. @return NSURL
  126. */
  127. + (NSURL *)smartURLForString:(NSString *)str;
  128. /**
  129. 判断此路径是否能够请求成功
  130. @param candidate 路径
  131. @param validateResult 验证结果
  132. */
  133. + (void)validateUrl: (NSURL *)candidate validateResult:(ValidateUrl)validateResult;
  134. /**
  135. 移除字符串中的空格和换行
  136. @param str 字符串
  137. @return 返回字符串
  138. */
  139. + (NSString *)removeSpaceAndNewline:(NSString *)str;
  140. #pragma mark - ----------------------- 时间 -----------------------
  141. /**
  142. 获取时间 @"yyyy-MM-dd HH:mm:ss"
  143. @param str 时间戳
  144. @return NSString
  145. */
  146. + (NSString *)dateToString:(NSString*)str;
  147. /**
  148. 日期转化为xx分钟前,xx小时前,今天xx时间
  149. @param compareDate 替换的时间
  150. @return 格式化后的时间
  151. */
  152. + (NSString *)formatTime:(NSDate*)compareDate;
  153. //传入秒得时分秒
  154. +(NSString *)getMMSSFromSS:(NSString *)totalTime;
  155. #pragma mark - ----------------------- 颜色 -----------------------
  156. /**
  157. 获取随机色
  158. @return UIColor
  159. */
  160. + (UIColor *)getRandomColor;
  161. /**
  162. 十六进制转换为uicolor
  163. @param color 色值,如:"#ffaa55"
  164. @return UIColor
  165. */
  166. + (UIColor *)colorWithHexString:(NSString *)color;
  167. #pragma mark - ----------------------- 转换 -----------------------
  168. /**
  169. json转NSString
  170. @param object json字符串
  171. @return NSString
  172. */
  173. + (NSString *)dataTOjsonString:(id)object;
  174. /**
  175. 将NSDictionary或NSArray转化为JSON串
  176. @param theData NSDictionary或NSArray
  177. @return NSData
  178. */
  179. + (NSData *)toJSONData:(id)theData;
  180. /**
  181. 将JSON串转化为NSDictionary
  182. @param jsonStr JSON串
  183. @return NSDictionary
  184. */
  185. + (NSDictionary *)jsonStrToDict:(NSString *)jsonStr;
  186. #pragma mark - ----------------------- 网络 -----------------------
  187. /**
  188. 判断网络是否连接状态
  189. @return BOOL
  190. */
  191. + (BOOL)isNetConnected;
  192. #pragma mark - ----------------------- 软硬件 -----------------------
  193. /**
  194. 是否打开闪光灯
  195. @param isOpen 是否开启
  196. */
  197. + (void)turnOnFlash:(BOOL)isOpen;
  198. /**
  199. 获取app的cpu使用情况
  200. @return float
  201. */
  202. + (float)getAppCpuUsage;
  203. /**
  204. 统一关闭键盘
  205. */
  206. + (void)closeKeyboard;
  207. /**
  208. 获取app缓存大小
  209. @return 返回缓存大小
  210. */
  211. + (CGFloat)getCachSize;
  212. /**
  213. 清理app缓存
  214. */
  215. + (void)handleClearView;
  216. /**
  217. 几个常用的权限判断
  218. */
  219. + (void)judgeAuthorization;
  220. #pragma mark - ----------------------- 坐标 -----------------------
  221. /**
  222. 获取view的坐标在整个window上的位置
  223. @param view 指定的view
  224. @param viewPoint 指定的view上面的点
  225. @return 返回坐标
  226. */
  227. + (CGPoint)getPointInWindow:(UIView *)view viewPoint:(CGPoint)viewPoint;
  228. #pragma mark - ----------------------- KVC -----------------------
  229. /**
  230. kvc 获取所有变量
  231. @param object NSObject
  232. @return NSArray
  233. */
  234. + (NSArray *)getAllIvar:(id)object;
  235. /**
  236. kvc 获得所有属性
  237. @param object NSObject
  238. @return NSArray
  239. */
  240. + (NSArray *)getAllProperty:(id)object;
  241. +(void)viewShadowPathWithView:(UIView *)view Color:(UIColor *)shadowColor shadowOpacity:(CGFloat)shadowOpacity shadowRadius:(CGFloat)shadowRadius shadowPathType:(LeShadowPathType)shadowPathType shadowPathWidth:(CGFloat)shadowPathWidth;
  242. @end