自己常用的工具類

自己常用的工具類

///本地保存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;


}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末鼻忠,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌帖蔓,老刑警劉巖矮瘟,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異塑娇,居然都是意外死亡澈侠,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門埋酬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哨啃,“玉大人,你說我怎么就攤上這事写妥∪颍” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵珍特,是天一觀的道長祝峻。 經常有香客問我,道長扎筒,這世上最難降的妖魔是什么莱找? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮嗜桌,結果婚禮上奥溺,老公的妹妹穿的比我還像新娘。我一直安慰自己骨宠,他們只是感情好浮定,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著诱篷,像睡著了一般壶唤。 火紅的嫁衣襯著肌膚如雪雳灵。 梳的紋絲不亂的頭發(fā)上棕所,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音悯辙,去河邊找鬼琳省。 笑死,一個胖子當著我的面吹牛躲撰,可吹牛的內容都是我干的针贬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼拢蛋,長吁一口氣:“原來是場噩夢啊……” “哼桦他!你這毒婦竟也來了?” 一聲冷哼從身側響起谆棱,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤快压,失蹤者是張志新(化名)和其女友劉穎圆仔,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體蔫劣,經...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡坪郭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了脉幢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歪沃。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖嫌松,靈堂內的尸體忽然破棺而出沪曙,到底是詐尸還是另有隱情,我是刑警寧澤萎羔,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布珊蟀,位于F島的核電站,受9級特大地震影響外驱,放射性物質發(fā)生泄漏育灸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一昵宇、第九天 我趴在偏房一處隱蔽的房頂上張望磅崭。 院中可真熱鬧,春花似錦瓦哎、人聲如沸砸喻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽割岛。三九已至,卻和暖如春犯助,著一層夾襖步出監(jiān)牢的瞬間癣漆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工剂买, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惠爽,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓瞬哼,卻偏偏與公主長得像婚肆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子坐慰,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容