CommonUtil.h 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. //
  2. // CommonUtil.h
  3. // JasonDevelop
  4. //
  5. // Created by Jason Lee on 2/14/14.
  6. // Copyright (c) jasondevelop. All rights reserved.
  7. //
  8. typedef enum {
  9. AdjustFrameModeOriginY = 0,
  10. AdjustFrameModeHeight,
  11. AdjustFrameModeBoth
  12. } AdjustFrameMode;
  13. @class SortDictionary;
  14. @interface CommonUtil : NSObject
  15. #pragma mark - Device Util
  16. /**
  17. 앱 버전 리턴
  18. @return 앱 버전
  19. */
  20. + (NSString *)applicationVersion;
  21. /**
  22. 앱 표시 버전 리턴
  23. @return 앱 표시 버전
  24. */
  25. + (NSString *)applicationShortVersion;
  26. + (NSString *)bundleIdentifier;
  27. /**
  28. 시스템 OS 버전 리턴
  29. @return 시스템 OS 버전
  30. */
  31. + (CGFloat)deviceSystemVersion;
  32. /**
  33. 앱 고유아이디 리턴
  34. @return 앱 고유아이디
  35. */
  36. + (NSString *)uniqueIdentifier;
  37. + (NSString *)deviceName;
  38. + (void)showCurrentDevice;
  39. + (CGFloat)hardwareVersion;
  40. + (NSUInteger)hardware;
  41. #pragma makr - Locale
  42. + (NSString *)countryCode;
  43. #pragma mark - Network Util
  44. +(BOOL)roamingCheck;
  45. + (BOOL)isOnPhoneCall;
  46. #pragma mark - FileUtil
  47. /**f
  48. Documents 내 절대 경로를 리턴
  49. @return 경로
  50. */
  51. +(NSString*)getPath:(NSString *)lastPath;
  52. /**
  53. 해당 경로에 파일 존재 유무
  54. */
  55. +(BOOL)isExistFile:(NSString*)filePath;
  56. /**
  57. 해당 경로에 파일 생성
  58. @return 생성결과
  59. */
  60. +(BOOL) createFile:(NSString*)filePath;
  61. /**
  62. 해당 경로의 파일 삭제
  63. @return 삭제결과
  64. */
  65. + (BOOL)deleteFile:(NSString *)fileName;
  66. /**
  67. iOS7인지 판단하여, 실제 윈도우 사이즈를 리턴
  68. @return 화면크기
  69. */
  70. + (CGRect)mainScreenBounds;
  71. #pragma mark - UI Util
  72. + (id)instantiateViewControllerWithIdentifier:(NSString *)identifier storyboardName:(NSString *)storyboardName;
  73. + (UIViewController *)currentViewController;
  74. + (UIView *)topView;
  75. /**
  76. 컨테이너로부터의 센터위치를 리턴
  77. @param object 센터위치를 구할 대상 뷰
  78. @param container 컨테이너 뷰
  79. @param navigationBar 제공 여부
  80. @param TabBar 제공여부
  81. @return CGRect 센터위치
  82. */
  83. + (CGRect)getCenterPosition:(id)object fromContainer:(id)container hasNavigationBar:(BOOL)hasNavigationBar hasTabBar:(BOOL)hasTabBar;
  84. + (CGRect)centerRect:(id)object fromContainer:(id)container;
  85. /**
  86. 해당 뷰를 컨테이너뷰의 중앙으로 이동시킴
  87. @param object 센터위치를 구할 대상 뷰
  88. @param container 컨테이너 뷰
  89. @param navigationBar 제공 여부
  90. @param TabBar 제공여부
  91. */
  92. + (void)moveToCenter:(id)object withContainer:(id)container hasNavigationBar:(BOOL)hasNavigationBar hasTabBar:(BOOL)hasTabBar;
  93. /**
  94. 해당 뷰를 컨테이너뷰의 가로 중앙으로 이동시킴
  95. @param object 센터위치를 구할 대상 뷰
  96. @param container 컨테이너 뷰
  97. @param navigationBar 제공 여부
  98. @param TabBar 제공여부
  99. */
  100. + (void)moveToCenterHorizon:(id)object withContainer:(id)container;
  101. /**
  102. 해당 뷰를 컨테이너뷰의 세로 중앙으로 이동시킴
  103. @param object 센터위치를 구할 대상 뷰
  104. @param container 컨테이너 뷰
  105. @param navigationBar 제공 여부
  106. @param TabBar 제공여부
  107. */
  108. + (void)moveToCenterVertical:(id)object withContainer:(id)container;
  109. + (CGSize)sizeWithString:(NSString *)text font:(UIFont *)font constrainedToSize:(CGSize)constrainedToSize lineBreakMode:(NSLineBreakMode)lineBreakMode;
  110. + (float)sizeWithStringHeight:(NSString *)text font:(UIFont *)font constrainedToSize:(float)width lineBreakMode:(NSLineBreakMode)lineBreakMode;
  111. + (CGFloat)getLabelRealWidth:(UILabel *)label fixedWidth:(CGFloat)fixedWidth;
  112. + (CGFloat)getLabelRealHeight:(UILabel *)label;
  113. + (CGSize)getLabelRealSize:(UILabel *)label fixedWdith:(CGFloat)fixedWidth;
  114. + (CGSize)getSizeFromString:(NSString *)string font:(UIFont *)font width:(CGFloat)fixedWidth;
  115. + (CGSize)getSizeFromAttributeString:(NSAttributedString *)string width:(CGFloat)fixedWidth;
  116. + (NSArray *)nibViews:(NSString *)nibName;
  117. #pragma mark - Date Util
  118. + (NSCalendar *)calendar;
  119. + (NSDateFormatter *)dateFormatter;
  120. + (NSString *)currentMonth;
  121. + (NSString *)stringFromDate:(NSDate *)date;
  122. + (NSString *)stringFromDateTime:(NSDate *)date;
  123. + (NSString *)stringFromDate2:(NSDate *)date;
  124. + (NSString *)birthStringFromDate:(NSDate *)date;
  125. + (NSString *)stringFromString:(NSString *)dateString;
  126. + (NSString *)stringFromDateComponents:(NSDateComponents *)components;
  127. + (NSString *)stringFromDateComponents2:(NSDateComponents *)components;
  128. + (NSString *)stringYearMonthFromDateComponents:(NSDateComponents *)components;
  129. + (NSDateComponents *)dateComponents:(NSDate *)date;
  130. + (NSDateComponents *)dateComponents:(NSDate *)date timezone:(NSTimeZone *)timezone;
  131. + (NSDateComponents *)dateComponentsFromString:(NSString *)dateString;
  132. + (NSDateComponents *)dateComponentsFromUTCString:(NSString *)utcString;
  133. + (NSDate *)dateFromDateString:(NSString *)dateString;
  134. + (NSString *)paramMonthFromDateString:(NSString *)dateString;
  135. + (NSDate *)dateFrom:(NSDate *)date adjustDay:(NSInteger)day;
  136. + (NSString *)UTCDateStringFromLocal:(NSString *)locDateString;
  137. + (NSString *)localDateFromUTC:(NSString *)utcDateString;
  138. + (NSString *)localDateFromUTC2:(NSString *)utcDateString;
  139. + (NSString *)formattedDate:(NSString *)dateString;
  140. + (NSString *)formattedDate2:(NSString *)dateString;
  141. + (NSString *)formattedDate3:(NSString *)datetime;
  142. + (NSString *)formattedMonthDate:(NSString *)dateString;
  143. #pragma mark - String Util
  144. + (NSNumberFormatter *)numberFormatter;
  145. + (NSString *)numberString:(NSInteger)number;
  146. + (NSString *)currencyString:(NSInteger)number;
  147. + (NSString *)currencyString2:(NSInteger)number;
  148. + (NSString *)svcNoString:(NSString *)svcNo;
  149. + (NSString *)cutSaName:(NSString *)saName;
  150. + (NSInteger)getIntegerFromCurrency:(NSString *)currency;
  151. + (NSString *)formattedPhoneNumber:(NSString *)phoneNumber;
  152. + (NSString *)formattedIAId:(NSString *)iaId;
  153. + (NSInteger)countForOccurrencesOfString:(NSString *)occurString;
  154. #pragma mark - TimeUtil
  155. + (NSString *)formattedTime:(NSString *)timeString;
  156. + (NSString *)formattedTime2:(NSString *)timeString;
  157. + (NSDateComponents *)timeComponentsFromString:(NSString *)timeString;
  158. + (NSString *)stringFromTime:(NSDate *)date;
  159. + (BOOL)stringContainsEmoji:(NSString *)string;
  160. #pragma mark - URL Encode
  161. +(NSString *)URLEncoding:(NSString *)sender;
  162. +(NSString *)URLDecoding:(NSString *)sender;
  163. +(UIImage*)resizableImageWithCapInsets:(UIEdgeInsets)make resizingMode:(UIImageResizingMode)resizingMode img:(UIImage *)img;
  164. +(NSString *)switchPostUrl:(NSString *)getUrl;
  165. +(NSString *)getUrl:(NSString *)getUrl;
  166. #pragma mark - timezone
  167. + (SortDictionary *)timeZoneDict;
  168. #pragma mark - Color
  169. +(UIColor *)convertFromRGBToUIColor:(NSString *)hexRGB;
  170. @end