IOS 个人学习

1.//时间戳转时间字符串

-(NSString *)TimeStamp:(NSString *)strTime

{

    NSDate *date = [NSDatedateWithTimeIntervalSince1970:[strTimedoubleValue] / 1000];

    

    NSDateFormatter *dateFormatter = [[NSDateFormatteralloc]init];

    

    //设定时间格式,这里可以设置成自己需要的格式

    

    [dateFormatter setDateFormat:@"yyyy-MM-dd"];

    

    NSString *currentDateStr = [dateFormatter stringFromDate:date];


    return currentDateStr;

}

2.//设置颜色

UIColor * colorWithHexString(NSString *stringToConvert){

    NSString *cString = [[stringToConvertstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]]uppercaseString];

    

    if ([cString length] <6)

        return kUIColor(242,241,239, 1);

    if ([cString hasPrefix:@"#"])

        cString = [cString substringFromIndex:1];

    if ([cString length] !=6)

        return kUIColor(242,241,239, 1);

    

    NSRange range;

    range.location = 0;

    range.length = 2;

    NSString *rString = [cString substringWithRange:range];

    

    range.location = 2;

    NSString *gString = [cString substringWithRange:range];

    

    range.location = 4;

    NSString *bString = [cString substringWithRange:range];

    

    

    unsigned int r, g, b;

    [[NSScannerscannerWithString:rString]scanHexInt:&r];

    [[NSScannerscannerWithString:gString]scanHexInt:&g];

    [[NSScannerscannerWithString:bString]scanHexInt:&b];

    

    return [UIColorcolorWithRed:((float) r /255.0f)

                           green:((float) g /255.0f)

                            blue:((float) b /255.0f)

                           alpha:1.0f];

}

3.//图片压缩

- (NSData *)resetSizeOfImageData:(UIImage *)source_image maxSize:(NSInteger)maxSize

{

    //先调整分辨率

    CGSize newSize = CGSizeMake(source_image.size.width, source_image.size.height);

    

    CGFloat tempHeight = newSize.height /1024;

    CGFloat tempWidth = newSize.width /1024;

    

    if (tempWidth > 1.0 && tempWidth > tempHeight) {

        newSize = CGSizeMake(source_image.size.width / tempWidth, source_image.size.height / tempWidth);

    }

    else if (tempHeight >1.0 && tempWidth < tempHeight){

        newSize = CGSizeMake(source_image.size.width / tempHeight, source_image.size.height / tempHeight);

    }

    

    UIGraphicsBeginImageContext(newSize);

    [source_image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

    UIImage *newImage =UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    

    //调整大小

    NSData *imageData = UIImageJPEGRepresentation(newImage,1.0);

    NSUInteger sizeOrigin = [imageData length];

    NSUInteger sizeOriginKB = sizeOrigin / 1024;

    

    if (sizeOriginKB > maxSize) {

        NSData *finallImageData = UIImageJPEGRepresentation(newImage,0.50);

        return finallImageData;

    }

    

    return imageData;

}

4.//限制输入的数字

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;

{

    UITextField * textfield1=(UITextField *)[textFieldViewviewWithTag:1000];

    UITextField * textfield2=(UITextField *)[textFieldViewviewWithTag:1001];

    UITextField * textfield3=(UITextField *)[textFieldViewviewWithTag:1002];

    UITextField * textfield4=(UITextField *)[textFieldViewviewWithTag:1003];

    if (range.location<1) {

        

        if (textField ==textfield1) {

            return [string integerValue]>5?NO:YES;

        }

        else if (textField==textfield2)

        {

            return  [string integerValue] > 3?NO:YES;

        }

        else if (textField==textfield3)

        {

            return  [string integerValue] > 2?NO:YES;

        }

        else if (textField==textfield4)

        {

            return  [string integerValue] > 5?NO:YES;

        }

        else

        {

            return [string integerValue] > 5?NO:YES;

        }

        

    }

    else

    {

        return NO;

    }

}


5.//判断输入是否是手机号码

- (NSString *)valiMobile:(NSString *)mobile{

    if (mobile.length <11)

    {

        return@"手机号长度只能是11";

    }else{

        /**

         * 移动号段正则表达式

         */

        NSString *CM_NUM =@"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";

        /**

         * 联通号段正则表达式

         */

        NSString *CU_NUM =@"^((13[0-2])|(145)|(15[5-6])|(17[0-6,9])|(18[5,6]))\\d{8}|(1709)\\d{7}$";

        /**

         * 电信号段正则表达式

         */

        NSString *CT_NUM =@"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";

        NSPredicate *pred1 = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", CM_NUM];

        BOOL isMatch1 = [pred1 evaluateWithObject:mobile];

        NSPredicate *pred2 = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", CU_NUM];

        BOOL isMatch2 = [pred2 evaluateWithObject:mobile];

        NSPredicate *pred3 = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", CT_NUM];

        BOOL isMatch3 = [pred3 evaluateWithObject:mobile];

        

        if (isMatch1 || isMatch2 || isMatch3) {

            return mobile;

        }else{

            return @"请输入正确的手机号码";

        }

    }

}


6 //用*替换字符串

-(NSString *)replaceStringWithAsterisk:(NSString *)originalStr startLocation:(NSInteger)startLocation lenght:(NSInteger)lenght;


    NSString *newStr = originalStr;

{

    NSString *newStr = originalStr;

    if (![newStr isEqualToString:@""]) {

        for (int i = 0; i < lenght; i++) {

            NSRange range = NSMakeRange(startLocation, 1);

            newStr = [newStr stringByReplacingCharactersInRange:range withString:@"*"];

            startLocation ++;

        }

        return newStr;

    }

    else

    {

        return @"";

    }

}


7.//用于适配的方法

CGRect CGrectMakeAuto(CGFloat x,CGFloat y,CGFloat width,CGFloat Height);

{

    AppDelegate * myDelegate=(AppDelegate *)[[UIApplication sharedApplication]delegate];

    CGRect rect;

    rect.origin.x=x * myDelegate.autoSizeScaleX;

    rect.origin.y=y * myDelegate.autoSizeScaleY;

    rect.size.width=width * myDelegate.autoSizeScaleX;

    rect.size.height=Height * myDelegate.autoSizeScaleY;

    return rect;

}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值