美文网首页
OC零散知识点

OC零散知识点

作者: 南京老侉子 | 来源:发表于2016-12-22 00:17 被阅读0次

    判断日期是否是昨天(Nsdate对象方法)

    - (BOOL)isYesterday {
        //生成只有年月日的日期对象
        NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
        fmt.dateFormat = @"yyyy-MM-dd";
        
        NSString *selfString = [fmt stringFromDate:self];
        NSDate *selfDate = [fmt dateFromString:selfString];
        
        NSString *nowString = [fmt stringFromDate:[NSDate date]];
        NSDate *nowDate = [fmt dateFromString:nowString];
        
        //比较差距
        NSCalendar *calendar = [NSCalendar currentCalendar];
        NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
        NSDateComponents *cmps = [calendar components:unit fromDate:selfDate toDate:nowDate options:0];
        
        return cmps.year == 0
        && cmps.month == 0
        && cmps.day == 1;
    }
    

    图片拉伸方法

    - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
    

    这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。
    根据设置的宽度和高度,将接下来的一个像素进行左右扩展和上下拉伸。

    注意:可拉伸的范围都是距离leftCapWidth后的1竖排像素,和距离topCapHeight后的1横排像素。

    参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。

    注意:只是对一个像素进行复制到一定宽度。而图像后面的剩余像素也不会被拉伸。

    控制代码在整个软件生命周期中只运行一次

    把下面代码中的UD换成[NSUserDefaults standardUserDefaults]就行了,也可以像我一样写个宏(#define UD [NSUserDefaults standardUserDefaults])
    
        if (![UD boolForKey:@"everLaunched"]) {
            [UD setBool:YES forKey:@"everLaunched"];
            [UD setBool:YES forKey:@"firstLaunch"];
        }
        else{
            [UD setBool:NO forKey:@"firstLaunch"];
        }
    
        if ([UD boolForKey:@"firstLaunch"]) {
            //第一次运行,以游客登录
           do........
        }
    

    根据UIColor生成对于UIImage

    - (UIImage *)imageWithColor
    {
        CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
        UIGraphicsBeginImageContext(rect.size);
        CGContextRef context = UIGraphicsGetCurrentContext();
    
        CGContextSetFillColorWithColor(context, [self CGColor]);
        CGContextFillRect(context, rect);
    
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return image;
    }
    

    将数组按目前的顺序反过来排列

    arr = [[arr reverseObjectEnumerator] allObjects];
    

    取数组中的最大值(数组内容是NSString也可以使用)

    NSNumber* max = [newCountArray valueForKeyPath:@"@max.intValue"];
    

    将数组按从小到大排列(数组内容是NSString也可以使用)

    newCountArray = [newCountArray sortedArrayUsingSelector:@selector(compare:)];
    

    让tableview滚动到第一行

    [mainFolioTB setContentOffset:CGPointMake(0,0) animated:NO];
    

    相关文章

      网友评论

          本文标题:OC零散知识点

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