一些小的代码功能,记录一下(持续更新)


数组排序

NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"0",@"8",@"6",@"1",nil];
    NSArray *sortedArray = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){
        if ([obj1 intValue] > [obj2 intValue]){
            return NSOrderedDescending;
        }
        if ([obj1 intValue] < [obj2 intValue]){
            return NSOrderedAscending;
        }
        return NSOrderedSame;
    }];
    NSLog(@"排序后的数组:%@",sortedArray);


屏幕快照

UIImageView* imgView;
    
    
    /*
     UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale) 
     size : 截取的范围大小
     opaque : 是否透明
     scale : 缩放
     */
    UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 640), FALSE, 0);
    
    imgView= [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 640, 640)];
    if (str) {
        UILabel *view = [[UILabel alloc]initWithFrame:CGRectMake(120, 500, 400, 150)];
        view.backgroundColor = [UIColor clearColor];
        view.text = str;
        view.shadowColor = [UIColor blackColor];
        view.shadowOffset = CGSizeMake(1, 1);
        view.textColor = [UIColor whiteColor];
        view.font = [UIFont systemFontOfSize:50];
        view.textAlignment = NSTextAlignmentCenter;
        [imgView addSubview:view];
    }
        
    [imgView setBackgroundColor:[UIColor yellowColor]];
    [imgView setContentMode:UIViewContentModeScaleAspectFit];
    [imgView setImage:img];
    
    //渲染图形
    [[imgView layer] renderInContext:UIGraphicsGetCurrentContext()];
    
    //得到新的image
    UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
    //关闭context
    UIGraphicsEndImageContext();
    
    return image;


参考:
UIGraphicsBeginImageContext和UIGraphicsBeginImageContextWithOptions

IOS--关于Drawing


#if ..#else.. #endif和if..else有什么区别

前者是判断是否有宏定义,后者是判断值是否大于0或者表达式是否成立
#if xx   //判断是否宏定义了(标号,变量,表达式),
	 //如果有宏定义 #define xx 则从下一行开始执行不执行#else,
	 //否则直接跳往#else执行 
#else    //如果没宏定义 #define xx 就执行#else
#endif   //#if结束
	
if (xx)  //判断(表达式,变量)的值是否大于0,
	 //大于0就执行下一行,不执行else
else	 //小于0就直接执行else,而不执行if下的语句




NSData NSArray 转换  

NSArray *arr1 = [[NSArray alloc]initWithObjects:@"0",@"5",nil];

    NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arr1];

    NSArray *arr2 = [NSKeyedUnarchiver unarchiveObjectWithData:data];


    NSLog(@"->%@",[arr1 objectAtIndex:1]);
    NSLog(@"->%@",[arr2 objectAtIndex:1]);


检查是否包含字符串

//检查是否包含字符串
- (BOOL)checkPackageNameFirstStr:(NSString *)firstStr secondStr:(NSString *)secondStr{
    
    NSRange range=[firstStr rangeOfString:secondStr];
    
    if(range.location!=NSNotFound){
        return true;
    }else{
        return false;
    }
}


等比例创建视图



int totalNumber = 30;  //总共要创建的个数
    
    int buttonWidth = 30;    //按钮宽
    
    int buttonHeight = 30;    //按钮高
    
    int buttonRowPadding = 5;    //横向按钮间隔
    
    int buttonColumnPadding = 5;    //纵向按钮间隔
    
    int buttonStartX = 0;                //按钮组起始坐标x
    
    int buttonStartY = 0;                //按钮组起始坐标Y
    
    for (int i = 0; i < totalNumber; i ++)
    {
        
        CGRect buttonFrame = CGRectMake(buttonStartX + (buttonWidth + buttonRowPadding) * (i % 3), buttonStartY + (buttonHeight + buttonColumnPadding) * (i /3), buttonWidth, buttonHeight);  //button frame
        UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        btn.frame = buttonFrame;
        [self.view addSubview:btn];
        
    }

动画闪屏效果



UIImageView *splashScreen = [[UIImageView alloc] initWithFrame:self.window.bounds];
    splashScreen.image = [UIImage imageNamed:@"Default"];
    [self.window addSubview:splashScreen]; 
    
    [UIView animateWithDuration:1.0 animations:^{
        CATransform3D transform = CATransform3DMakeScale(1.5, 1.5, 1.0);
        splashScreen.layer.transform = transform;
        splashScreen.alpha = 0.0;
    } completion:^(BOOL finished) {
        [splashScreen removeFromSuperview];
    }];

字符串比较


NSArray *stringsArray = [NSArray arrayWithObjects:@"string 1",@"String 21",@"string 12",@"String 11",@"String 02", nil];
    
    /*
     NSCaseInsensitiveSearch 不区分大小写比较
     NSNumericSearch Name2.txt < Name7.txt < Name25.txt.
     NSWidthInsensitiveSearch = 256,//忽略字符串的长度,比较出结果
     NSForcedOrderingSearch = 512//忽略不区分大小写比较的选项,并强制返回 NSOrderedAscending 或者 NSOrderedDescending
     */
    static NSStringCompareOptions comparisonOptions = NSCaseInsensitiveSearch | NSNumericSearch |NSWidthInsensitiveSearch | NSForcedOrderingSearch;
    
    NSLocale *currentLocale = [NSLocale currentLocale];
    
    NSComparator finderSortBlock = ^(id string1, id string2) {
        NSRange string1Range = NSMakeRange(0, [string1 length]);
        
        return [string1 compare:string2 options:comparisonOptions range:string1Range locale:currentLocale];
    };
    
    
    NSArray *finderSortArray = [stringsArray sortedArrayUsingComparator:finderSortBlock];
    
    NSLog(@"finderSortArray: %@", finderSortArray);


检测网络使用状态



Reachability *reachability = [Reachability reachabilityForInternetConnection];
    NetworkStatus internetStatus = [reachability currentReachabilityStatus];
    switch (internetStatus) {
        case kNotReachable:{
            NSLog(@"%@",@"没有网络连接");
        }
            
            break;
        case kReachableViaWWAN:{
            NSLog(@"%@",@"使用3G网络");
        }
            
            break;
        case kReachableViaWiFi:{
            NSLog(@"%@",@"使用WIFI网络");
        }
            
            break;
            
        default:
            break;
    }


UIFont相关属性


//不指定,指定斜体,指定粗体:
UIFont *font = [UIFont systemFontOfSize:20];
UIFont *font = [UIFont italicSystemFontOfSize:20];
UIFont *font = [UIFont boldSystemFontOfSize:20];
 
//指定”button标准/label标准/比标准小”用的大小:
UIFont *font = [UIFont systemFontOfSize: [UIFont buttonFontSize]];
UIFont *font =  [UIFont systemFontOfSize:[UIFont labelFontSize]];
UIFont *font =[UIFont systemFontOfSize:[UIFont smallSystemFontSize]];


IOS 遍历文件夹下内容

NSFileManager *fileManager = [NSFileManager defaultManager];  
NSError *error = nil;  
NSArray *fileList = [[NSArray alloc] init];  
//fileList便是包含有该文件夹下所有文件的文件名及文件夹名的数组  
fileList = [fileManager contentsOfDirectoryAtPath:[self imageSavedPath:nil] error:&error];  


Vim清空文件

Vim清空整个文件内容

首先,使用gg调整光标到首行,然后使用dG命令即可。(小d加大G)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值