自己常用的工具類
///本地保存string,int,Char,等類型复唤,forKey為鍵盈匾,Value為要保存的值
+ (void)UserDefaultSetValue:(id)Value forKey:(NSString *)keyString;
///本地保存BOOL類型狰挡,forKey為鍵鹅龄,Value為要保存的值
+ (void)UserDefaultSetBool:(BOOL )VBool forKey:(NSString *)keyString;
///刪除本地保存的值吴趴,keyString為鍵
+ (void)UserDefaultRemoveObjectForKey:(NSString *)keyString;
///取出本地保存的string,int,Char,等值漆诽,keyString為鍵
+ (id)UserDefaultObjectForKey:(NSString *)keyString;
///取出本地保存BOOL類型,forKey為鍵
+ (BOOL)UserDefaultBoolForKey:(NSString *)keyString;
+ (NSMutableAttributedString *)stringChangeAttributeColor:(NSString *)textString andColor:(UIColor *)fontColor and:(NSUInteger)rangeLen;
///把textString,從尾部反向改變長度range,范圍的字體顏色
+ (NSMutableAttributedString *)stringChangeEndAttributeColor:(NSString *)textString andColor:(UIColor *)fontColor and:(NSUInteger)range;
///把textString,縮進CGFloat類型15或20
+ (NSMutableAttributedString *)stringHeadIndentAttribute:(NSString *)textString andIndent:(CGFloat)Indent;
///label 自動換行 修改字體大小
+(void)lableWordWrap:(UILabel *)label andfont:(int)font;
///根據字體長度返回寬度
+ (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxSize:(CGSize)maxSize;
///特殊的,為了計算評價cell的高度
+ (CGFloat)cellHeightfortextString:(NSString *)textString Images:(NSInteger)Nums;
///計算字體大小為14.f的String高度锣枝,上下加了15
+ (CGFloat)toCellTextHeight:(NSString *)String;
///判斷是否是正確的手機號
+ (BOOL)PredicateJudgeTelePhone:(NSString *)telePhone;
///計算本地緩存大小
+ (float)allFileSizeLocalCache;
///清理本地緩存
+ (void)cleanAllFileSizeLocalCache;
///把數組保存到本地存儲為plist文件里厢拭,并給出plist文件名字
+ (void)FileNSArrayStorageToPlist:(NSArray *)fileArray PlistName:(NSString *)plistName;
///從plist文件里讀出數組,必須保證plist文件內的確存的是數組撇叁!
+ (NSArray *)FileReadNsArrayFromPlist:(NSString *)plistName;
///刪除本地緩存的plist文件
+ (void)FileManagerDeletePlistfile:(NSString *)plistName;
///時間轉換法則 yyyy-MM-dd HH-mm-ss
+(NSString *)StringFromDateHHmmss:(long) value;
///通過時間戳yyyy-MM-dd
+(NSString *)StringFromDateMMDD:(long)value;
///通過時間戳找到今天周幾
+ (NSString *)FindWeekThroughTimestam:(long) value;
///判斷當前網絡
+ (BOOL)isConnectionAvailable;
///時間轉換法則 yyyy-MM-dd
+ (NSDate *)dateFromDateAabAdd:(NSDate *)oldDate;
///時間轉換法則 yyyy-MM-dd HH-mm-ss
+ (NSDate *)dateFromDateHHmmss:(NSDate *)oldDate;
///時間轉換 未加8小時
+ (NSDate *)dateDateHHmmss:(NSDate *)Date;
///獲取時間Date的年-月-日-時-分-秒供鸠,返回在數組中
+ (NSArray *)ArrayFromDateComponents:(NSDate *)date;
///根據時間格式Date返回String:年-月-日
+ (NSString *)stringFromDateSubLength:(NSDate *)currentDate;
///計算加減天,返回時間Date格式.string為年-月-日陨闹,加為YES,numMonth為增減天數1楞捂,7
+ (NSDate *)dateFromDateString:(NSString *)dateString AddDate:(BOOL)addBool andNum:(NSUInteger )dayNum;
///計算加減月份,返回時間Date格式.string為年-月-日趋厉,加為YES,numMonth為增減月量1-12
+ (NSDate*)nextMonthDateFromTextString:(NSString *)dateString AddBooL:(BOOL)addBool monthNum:(NSInteger)numMonth;
///將十六進制顏色轉換為 UIColor 對象寨闹,string要加#,如“#c83c23”
+ (UIColor *)colorWithHexString:(NSString *)color;
///提示框? message 為提示信息
+(void)alterViewShow:(NSString *)message viewcontroller:(UIViewController *)controller stayTime:(int)time;
///去除(null)
+ (NSString *) isBlankString:(NSString *)string;
+ (long)isBlankLong:(long)lng;
///獲取Label的高度
+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont*)font;
///獲取Label的寬度
+ (CGFloat)getWidthWithTitle:(NSString *)title font:(UIFont *)font;
///壓縮圖片
+ (NSData *)compressdePNGImage:(UIImage *)image;
// 重繪圖片大小
+ (UIImage *)imageWithPNGImage:(UIImage*)image scaledToSize:(CGSize)newSize;
具體實現方法
///壓縮圖片
+ (NSData *)compressdeImage:(UIImage *)image{
? ? CGSize imagesize =image.size;
? ? imagesize.height =imagesize.height/4;
? ? imagesize.width =imagesize.width/4;
? ? UIImage * imageNew = [self imageWithImage:image scaledToSize:imagesize];
? ? return? UIImageJPEGRepresentation(imageNew, 1);
}
// 重繪圖片大小
+ (UIImage *)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize{
? ? UIGraphicsBeginImageContext(newSize);
? ? //重繪
? ? [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
? ? UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
? ? UIGraphicsEndImageContext();
? ? return newImage;
}
+ (void)UserDefaultSetValue:(id)Value forKey:(NSString *)keyString{
? ? NSUserDefaults * userDefault = [NSUserDefaults standardUserDefaults];
? ? if (![Value isKindOfClass:[NSNull class]]) {
? ? ? ? [userDefault setValue:Value forKey:keyString];
? ? }else {
? ? ? ? [userDefault setValue:@"" forKey:keyString];
? ? }
? ? [userDefault synchronize];
}
+ (void)UserDefaultSetBool:(BOOL )VBool forKey:(NSString *)keyString{
? ? NSUserDefaults * userDefault = [NSUserDefaults standardUserDefaults];
? ? [userDefault setBool:VBool forKey:keyString];
? ? [userDefault synchronize];
}
+ (void)UserDefaultRemoveObjectForKey:(NSString *)keyString {
? ? NSUserDefaults * userDefault = [NSUserDefaults standardUserDefaults];
? ? [userDefault removeObjectForKey:keyString];
? ? [userDefault synchronize];
}
+ (id)UserDefaultObjectForKey:(NSString *)keyString {
? ? NSUserDefaults * userDefault = [NSUserDefaults standardUserDefaults];
? ? NSString * string = [userDefault objectForKey:keyString];
? ? [[NSUserDefaults standardUserDefaults] objectForKey:@""];
? ? return string;
}
+ (BOOL)UserDefaultBoolForKey:(NSString *)keyString {
? ? NSUserDefaults * userDefault = [NSUserDefaults standardUserDefaults];
? ? BOOL Bool= [userDefault boolForKey:keyString];
? ? return Bool;
}
+ (NSMutableAttributedString *)stringAddThroughLines:(NSString *)textString and:(NSUInteger)rangeLoc{
? ? NSMutableAttributedString *AttributedString = [[NSMutableAttributedString alloc] initWithString:textString];
? ? [AttributedString addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlinePatternSolid | NSUnderlineStyleSingle) range:NSMakeRange(rangeLoc, textString.length-rangeLoc)];
? ? return AttributedString;
}
+ (NSMutableAttributedString *)stringChangeAttributeFont:(NSString *)textString andSize:(CGFloat)fontSize and:(NSUInteger)rangeLen
{
? ? NSMutableAttributedString *AttributedString = [[NSMutableAttributedString alloc] initWithString:textString];
? ? [AttributedString addAttribute:NSFontAttributeName
? ? ? ? ? ? ? ? ? ? ? ? ? ? value:[UIFont systemFontOfSize:fontSize]
? ? ? ? ? ? ? ? ? ? ? ? ? ? range:NSMakeRange(0, rangeLen)];
? ? return AttributedString;
}
+ (NSMutableAttributedString *)stringChangeEndAttributeFont:(NSString *)textString andSize:(CGFloat)fontSize endRang:(NSUInteger)endRange
{
? ? NSMutableAttributedString *AttributedString = [[NSMutableAttributedString alloc] initWithString:textString];
? ? [AttributedString addAttribute:NSFontAttributeName
? ? ? ? ? ? ? ? ? ? ? ? ? ? value:[UIFont systemFontOfSize:fontSize]
? ? ? ? ? ? ? ? ? ? ? ? ? ? range:NSMakeRange(textString.length-endRange, endRange)];
? ? return AttributedString;
}
+ (NSMutableAttributedString *)stringChangeAttributeFontColor:(NSString *)textString andSize:(CGFloat)fontSize andColor:(UIColor *)fontColor and:(NSUInteger)rangeLen
{
? ? NSMutableAttributedString *AttributedString = [[NSMutableAttributedString alloc] initWithString:textString];
? ? [AttributedString addAttribute:NSFontAttributeName
? ? ? ? ? ? ? ? ? ? ? ? ? ? value:[UIFont systemFontOfSize:fontSize]
? ? ? ? ? ? ? ? ? ? ? ? ? ? range:NSMakeRange(0, rangeLen)];
? ? [AttributedString addAttribute:NSForegroundColorAttributeName
? ? ? ? ? ? ? ? ? ? ? ? ? ? value:fontColor
? ? ? ? ? ? ? ? ? ? ? ? ? ? range:NSMakeRange(0, rangeLen)];
? ? return AttributedString;
}
+ (NSMutableAttributedString *)stringChangeEndAttributeFontColor:(NSString *)textString andSize:(CGFloat)fontSize andColor:(UIColor *)fontColor and:(NSUInteger)range
{
? ? NSMutableAttributedString *AttributedString = [[NSMutableAttributedString alloc] initWithString:textString];
? ? [AttributedString addAttribute:NSFontAttributeName
? ? ? ? ? ? ? ? ? ? ? ? ? ? value:[UIFont systemFontOfSize:fontSize]
? ? ? ? ? ? ? ? ? ? ? ? ? ? range:NSMakeRange(textString.length-range, range)];
? ? [AttributedString addAttribute:NSForegroundColorAttributeName
? ? ? ? ? ? ? ? ? ? ? ? ? ? value:fontColor
? ? ? ? ? ? ? ? ? ? ? ? ? ? range:NSMakeRange(textString.length-range, range)];
? ? return AttributedString;
}
+ (NSMutableAttributedString *)stringChangeAttributeColor:(NSString *)textString andColor:(UIColor *)fontColor and:(NSUInteger)rangeLen
{
? ? NSMutableAttributedString *AttributedString = [[NSMutableAttributedString alloc] initWithString:textString];
? ? [AttributedString addAttribute:NSForegroundColorAttributeName
? ? ? ? ? ? ? ? ? ? ? ? ? ? value:fontColor
? ? ? ? ? ? ? ? ? ? ? ? ? ? range:NSMakeRange(0, rangeLen)];
? ? return AttributedString;
}
+ (NSMutableAttributedString *)stringChangeEndAttributeColor:(NSString *)textString andColor:(UIColor *)fontColor and:(NSUInteger)range
{
? ? NSMutableAttributedString *AttributedString = [[NSMutableAttributedString alloc] initWithString:textString];
? ? [AttributedString addAttribute:NSForegroundColorAttributeName
? ? ? ? ? ? ? ? ? ? ? ? ? ? value:fontColor
? ? ? ? ? ? ? ? ? ? ? ? ? ? range:NSMakeRange(textString.length-range, range)];
? ? return AttributedString;
}
+ (NSMutableAttributedString *)stringHeadIndentAttribute:(NSString *)textString andIndent:(CGFloat)Indent
{
? ? NSMutableAttributedString *AttributedString = [[NSMutableAttributedString alloc] initWithString:textString];
? ? NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
? ? style.firstLineHeadIndent = Indent;
? ? //? ? style.headIndent = Indent;//整體縮進
//? ? ? ? style.lineSpacing = 3.f;//行距
? ? [AttributedString addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0, AttributedString.length)];
? ? return AttributedString;
}
+ (CGFloat)cellHeightfortextString:(NSString *)textString Images:(NSInteger)Nums{
? ? CGFloat height =49+30+5;
? ? if (Nums ==0) {
? ? ? ? height +=0.f;
? ? }else{
? ? ? ? height +=80.f;
? ? }
? ? if (![textString isKindOfClass:[NSNull class]]) {
? ? ? ? CGFloat TextHeight = [textString sizeWithFont:[UIFont systemFontOfSize:14.f] Size:CGSizeMake([[UIScreen mainScreen] bounds].size.width- 48-8, MAXFLOAT)].height;
? ? ? ? height +=TextHeight+1;
? ? }
? ? return height;
}
+ (CGFloat)toCellTextHeight:(NSString *)String{
? ? CGFloat height =10;
? ? if (![String isKindOfClass:[NSNull class]]) {
? ? ? ? CGFloat TextHeight = [String sizeWithFont:[UIFont systemFontOfSize:14.f] Size:CGSizeMake([[UIScreen mainScreen] bounds].size.width-16, MAXFLOAT)].height;
? ? ? ? height +=TextHeight+1;
? ? }
? ? return height+8;
}
+ (BOOL)PredicateJudgeTelePhone:(NSString *)telePhone {
? ? NSString * num = @"^1[3|4|5|7|8][0-9]\\d{8}$";
? ? NSPredicate *regextestnum = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",num];
? ? if ([regextestnum evaluateWithObject:telePhone]){
? ? ? ? return YES;
? ? }else{
? ? ? ? return NO;
? ? }
}
+ (float)allFileSizeLocalCache{
? ? NSString *filepath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
? ? NSFileManager *fileManager=[NSFileManager defaultManager];
? ? __block float folderSize =0;
? ? if ([fileManager fileExistsAtPath:filepath]) {
? ? ? ? //拿到算有文件的數組
? ? ? ? NSArray *filesArray = [fileManager subpathsAtPath:filepath];
? ? ? ? [filesArray enumerateObjectsUsingBlock:^(id? _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
? ? ? ? ? ? NSString *fullPath = [filepath stringByAppendingPathComponent:obj];
? ? ? ? ? ? folderSize += [self fileSizeAtPath:fullPath];
? ? ? ? }];
? ? ? ? //拿到每個文件的名字,如有有不想清除的文件就在這里判斷
? ? }
? ? return folderSize;
}
+ (void)cleanAllFileSizeLocalCache{
? ? NSString *filepath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
? ? NSFileManager *fileManager=[NSFileManager defaultManager];
? ? if ([fileManager fileExistsAtPath:filepath]) {
? ? ? ? //拿到算有文件的數組
? ? ? ? NSArray *filesArray = [fileManager subpathsAtPath:filepath];
? ? ? ? [filesArray enumerateObjectsUsingBlock:^(id? _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
? ? ? ? ? ? NSString *fullPath = [filepath stringByAppendingPathComponent:obj];
? ? ? ? ? ? [fileManager removeItemAtPath:fullPath error:nil];
? ? ? ? }];
? ? ? ? //拿到每個文件的名字,如有有不想清除的文件就在這里判斷
? ? }
}
+ (float)fileSizeAtPath:(NSString *)path{
? ? NSFileManager *fileManager=[NSFileManager defaultManager];
? ? if([fileManager fileExistsAtPath:path]){ ///判斷
? ? ? ? long long size=[fileManager attributesOfItemAtPath:path error:nil].fileSize;
? ? ? ? return size/1024.0/1024.0;
? ? }
? ? return 0;
}
+ (void)FileNSArrayStorageToPlist:(NSArray *)fileArray PlistName:(NSString *)plistName{
? ? NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
? ? NSString *fileName = [path stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@",plistName,@".plist"]];
? ? [fileArray writeToFile:fileName atomically:YES];
}
+ (NSArray *)FileReadNsArrayFromPlist:(NSString *)plistName{
? ? NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
? ? NSString *filePath = [path stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@",plistName,@".plist"]];
? ? return [NSArray arrayWithContentsOfFile:filePath];
}
+ (void)FileManagerDeletePlistfile:(NSString *)plistName{
? ? NSFileManager *fManager = [NSFileManager defaultManager];
? ? NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
? ? NSString *filePath = [path stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@",plistName,@".plist"]];
? ? [fManager removeItemAtPath:filePath error:nil];
}
+ (NSDate *)dateFromDateAabAdd:(NSDate *)oldDate{
? ? NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init];
? ? [dateFormatter setDateFormat:@"yyyy-MM-dd 00:00:00"];
? ? NSString *stringdate =[dateFormatter stringFromDate:oldDate];
? ? oldDate =[dateFormatter dateFromString:stringdate];
? ? NSTimeInterval intervalTime = [oldDate timeIntervalSince1970];
? ? intervalTime =intervalTime +(8*60*60);
? ? NSDate *newDate = [NSDate dateWithTimeIntervalSince1970:intervalTime];
? ? return newDate;
}
+ (NSDate *)dateFromDateHHmmss:(NSDate *)oldDate{
? ? NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init];
? ? [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
? ? NSString *stringdate =[dateFormatter stringFromDate:oldDate];
? ? oldDate =[dateFormatter dateFromString:stringdate];
? ? NSTimeInterval intervalTime = [oldDate timeIntervalSince1970];
? ? intervalTime =intervalTime +(8*60*60);
? ? NSDate *newDate = [NSDate dateWithTimeIntervalSince1970:intervalTime];
? ? return newDate;
}
+ (NSDate *)dateDateHHmmss:(NSDate *)Date{
? ? NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init];
? ? [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
? ? NSString *stringdate =[dateFormatter stringFromDate:Date];
? ? Date =[dateFormatter dateFromString:stringdate];
? ? return Date;
}
+ (NSArray *)ArrayFromDateComponents:(NSDate *)date{
? ? NSMutableArray *dateArray =[NSMutableArray array];
? ? NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour| NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:date];
? ? NSInteger dateYear? = [components year];
? ? NSInteger dateMonth = [components month];
? ? NSInteger dateDay? = [components day];
? ? NSInteger dateHour? = [components hour];
? ? NSInteger dateMinute? = [components minute];
? ? NSInteger dateSecond? = [components second];
? ? NSNumber *yearVal=[NSNumber numberWithInteger:dateYear];
? ? NSNumber *monthVal=[NSNumber numberWithInteger:dateMonth];
? ? NSNumber *dayVal=[NSNumber numberWithInteger:dateDay];
? ? NSNumber *hourVal=[NSNumber numberWithInteger:dateHour];
? ? NSNumber *minuteVal=[NSNumber numberWithInteger:dateMinute];
? ? NSNumber *secondVal=[NSNumber numberWithInteger:dateSecond];
? ? [dateArray addObject:yearVal];
? ? [dateArray addObject:monthVal];
? ? [dateArray addObject:dayVal];
? ? [dateArray addObject:hourVal];
? ? [dateArray addObject:minuteVal];
? ? [dateArray addObject:secondVal];
? ? return dateArray;
}
+ (NSString *)stringFromDateSubLength:(NSDate *)currentDate{
? ? NSString *dataStr=[NSString stringWithFormat:@"%@",[NineStarToolsObject dateFromDateAabAdd:currentDate]];
? ? dataStr= [dataStr substringToIndex:dataStr.length -15];
? ? return dataStr;
}
+ (NSDate *)dateFromDateString:(NSString *)dateString AddDate:(BOOL)addBool andNum:(NSUInteger )dayNum{
? ? NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init];
? ? [dateFormatter setDateFormat:@"yyyy-MM-dd 00:00:00"];
? ? NSDate? *oldDate =[dateFormatter dateFromString:dateString];
? ? NSTimeInterval intervalTime = [oldDate timeIntervalSince1970];
? ? if (addBool) {
? ? ? ? intervalTime =intervalTime +dayNum*(24*60*60)+(8*60*60);
? ? }else{
? ? ? ? intervalTime =intervalTime -dayNum*(24*60*60)+(8*60*60);
? ? }
? ? NSDate *newDate = [NSDate dateWithTimeIntervalSince1970:intervalTime];
? ? return newDate;
}
+ (NSDate*)nextMonthDateFromTextString:(NSString *)dateString AddBooL:(BOOL)addBool monthNum:(NSInteger)numMonth{
? ? NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init];
? ? [dateFormatter setDateFormat:@"yyyy-MM-dd 00:00:00"];
? ? NSDate? *oldDate =[dateFormatter dateFromString:dateString];
? ? NSTimeInterval intervalTime = [oldDate timeIntervalSince1970];
? ? intervalTime =intervalTime +(8*60*60);
? ? oldDate = [NSDate dateWithTimeIntervalSince1970:intervalTime];
? ? NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
? ? if (addBool) {
? ? ? ? dateComponents.month = + numMonth;
? ? }else{
? ? ? ? dateComponents.month = - numMonth;
? ? }
? ? NSDate *newDate = [[NSCalendar currentCalendar] dateByAddingComponents:dateComponents toDate:oldDate options:0];
? ? return newDate;
}
+(NSString *)StringFromDateHHmmss:(long) value{
? ? NSString *str1=[NSString stringWithFormat:@"%ld",value];
? ? long x=[[str1 substringToIndex:10] longLongValue];
? ? NSDate? *newDate = [NSDate dateWithTimeIntervalSince1970:x];
? ? NSDateFormatter *dateformatter=[[NSDateFormatter alloc]init];
? ? [dateformatter setDateFormat:@"yyyy-MM-dd HH:mm"];
? ? NSString *ymdhmStr= [dateformatter stringFromDate:newDate];
? ? return ymdhmStr;
}
+(NSString *)StringFromDateMMDD:(long)value{
? ? NSString *str1=[NSString stringWithFormat:@"%ld",value];
? ? long x=[[str1 substringToIndex:10] longLongValue];
? ? NSDate? *newDate = [NSDate dateWithTimeIntervalSince1970:x];
? ? NSDateFormatter *dateformatter=[[NSDateFormatter alloc]init];
? ? [dateformatter setDateFormat:@"yyyy-MM-dd"];
? ? NSString *ymdhmStr= [dateformatter stringFromDate:newDate];
? ? return ymdhmStr;
}
+ (NSString *)FindWeekThroughTimestam:(long) value{
? ? NSString *str1=[NSString stringWithFormat:@"%ld",value];
? ? long data =[[str1 substringToIndex:10] longLongValue];
? ? NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"周日", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六", nil];
? ? NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
? ? NSCalendarUnit calendarUnit = NSCalendarUnitWeekday;
? ? NSDate *newDate = [NSDate dateWithTimeIntervalSince1970:data];
? ? NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:newDate];
? ? NSString *weekStr = [weekdays objectAtIndex:theComponents.weekday];
? ? return weekStr;
}
+ (BOOL)isConnectionAvailable{
? ? BOOL isExistenceNetwork = YES;
? ? Reachability *reach = [Reachability reachabilityWithHostName:@"www.baidu.com"];
? ? switch ([reach currentReachabilityStatus]) {
? ? ? ? case NotReachable:
? ? ? ? ? ? isExistenceNetwork = NO;
? ? ? ? ? ? //NSLog(@"notReachable");
? ? ? ? ? ? break;
? ? ? ? case ReachableViaWiFi:
? ? ? ? ? ? isExistenceNetwork = YES;
? ? ? ? ? ? //NSLog(@"WIFI");
? ? ? ? ? ? break;
? ? ? ? case ReachableViaWWAN:
? ? ? ? ? ? isExistenceNetwork = YES;
? ? ? ? ? ? //NSLog(@"3G");
? ? ? ? ? ? break;
? ? }
? ? return isExistenceNetwork;
}
+ (UIColor *)colorWithHexString:(NSString *)color{
? ? NSString *cString = [[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
? ? // String should be 6 or 8 characters
? ? if ([cString length] < 6) {
? ? ? ? return [UIColor clearColor];
? ? }
? ? // strip "0X" or "#" if it appears
? ? if ([cString hasPrefix:@"0X"])
? ? ? ? cString = [cString substringFromIndex:2];
? ? if ([cString hasPrefix:@"#"])
? ? ? ? cString = [cString substringFromIndex:1];
? ? if ([cString length] != 6)
? ? ? ? return [UIColor clearColor];
? ? // Separate into r, g, b substrings
? ? NSRange range;
? ? range.location = 0;
? ? range.length = 2;
? ? //r
? ? NSString *rString = [cString substringWithRange:range];
? ? //g
? ? range.location = 2;
? ? NSString *gString = [cString substringWithRange:range];
? ? //b
? ? range.location = 4;
? ? NSString *bString = [cString substringWithRange:range];
? ? // Scan values
? ? unsigned int r, g, b;
? ? [[NSScanner scannerWithString:rString] scanHexInt:&r];
? ? [[NSScanner scannerWithString:gString] scanHexInt:&g];
? ? [[NSScanner scannerWithString:bString] scanHexInt:&b];
? ? return [UIColor colorWithRed:((float) r / 255.0f) green:((float) g / 255.0f) blue:((float) b / 255.0f) alpha:1.0f];
}
+(void)alterViewShow:(NSString *)message viewcontroller:(UIViewController *)controller? stayTime:(int)time{
? ? UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"溫馨提示" message:message preferredStyle:UIAlertControllerStyleAlert];
? ? [controller presentViewController:alert animated:YES completion:^{
? ? ? ? //延遲1秒自動消失
? ? ? ? dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(time * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
? ? ? ? ? ? [alert dismissViewControllerAnimated:YES completion:nil];
? ? ? ? });
? ? }];
}
+ (NSString *)isBlankString:(NSString *)string {
? ? if (string == nil || string == NULL || string == 0) {
? ? ? ? return @"";
? ? }
? ? if ([string isKindOfClass:[NSNull class]]) {
? ? ? ? return @"";
? ? }
? ? if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0) {
? ? ? ? return @"";
? ? }
? ? return string;
}
+ (long)isBlankLong:(long)lng{
? ? if (lng ==0 ) {
? ? ? ? return (long)@"";
? ? }
? ? return lng;
}
+(void)lableWordWrap:(UILabel *)label andfont:(int)font{
? ? label.numberOfLines =0 ;
? ? label.lineBreakMode = NSLineBreakByWordWrapping;
? ? if (font!=0) {
? ? ? ? label.font = [UIFont systemFontOfSize:font];
? ? }
}
+ (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxSize:(CGSize)maxSize
{?
? ? NSDictionary *attrs = @{NSFontAttributeName : font};
? ? return [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attrs context:nil].size;
}
+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont *)font
{
? ? UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, 0)];
? ? label.text = title;
? ? label.font = font;
? ? label.numberOfLines = 0;
? ? [label sizeToFit];
? ? CGFloat height = label.frame.size.height;
? ? return height;
}
+ (CGFloat)getWidthWithTitle:(NSString *)title font:(UIFont *)font {
? ? UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 1000, 0)];
? ? label.text = title;
? ? label.font = font;
? ? [label sizeToFit];
? ? return label.frame.size.width;
}
///壓縮圖片
+ (NSData *)compressdePNGImage:(UIImage *)image{
? ? CGSize imagesize =image.size;
? ? imagesize.height =imagesize.height/4;
? ? imagesize.width =imagesize.width/4;
? ? UIImage * imageNew = [self imageWithPNGImage:image scaledToSize:imagesize];
? ? return? UIImagePNGRepresentation(imageNew);
}
// 重繪圖片大小
+ (UIImage *)imageWithPNGImage:(UIImage*)image scaledToSize:(CGSize)newSize{
? ? UIGraphicsBeginImageContext(newSize);
? ? //重繪
? ? [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
? ? UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
? ? UIGraphicsEndImageContext();
? ? return newImage;
}