美文网首页
自己常用的工具类

自己常用的工具类

作者: 愤怒滴菜鸟 | 来源:发表于2018-03-12 10:43 被阅读0次

    自己常用的工具类

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

    }

    相关文章

      网友评论

          本文标题:自己常用的工具类

          本文链接:https://www.haomeiwen.com/subject/bgrgsttx.html