美文网首页
iOS一周总结(二)

iOS一周总结(二)

作者: __夏至未至 | 来源:发表于2016-08-21 18:42 被阅读29次

    工作还是比较忙的,在平时也是没时间总结和学习,不过身为一个程序员,如果想要进步,总结和学习还是很重要的~于是有了个每周总结,主要是记录工作上遇到的技术或者小技巧。
    1.UIViewContentMode
    在做照片预览的时候,为了让图片居中显示,判断它的size是width>height来手动计算他的frame。
    但其实UIImageView有个contentMode的属性,可以让他居中,但是由于是这个属性是根据image原来的size的。于是乎可以使用image的[+ imageWithCGImage:scale:orientation:]这个方法,改变下从相册中获取到的image的size。

    2.anchorPoint
    之前有个需求要绕着左下角转圈,于是想到了anchorPoint这个属性,果然还是成功了,当然设置了他的anchorPoint后frame会改变下,所以可以记住原来的frame,再设置anchorPoint然后再改frame。

    3.NSDateComponents
    接到个日历的需求,也接到个朋友圈类似于倒计时的功能,比如发表于几分钟前什么的。其实很重要的一个东西就是NSDateComponents这个类,他具有year,month,day等属性。比如获取时间和当前差多少,先构造个方法,用来比较和当前时间差多少

    - (NSDateComponents *)dateFrom:(NSDate *)from{
        NSDate *date = [NSDate date];
        NSCalendar *calendar = [NSCalendar currentCalendar];
        NSCalendarUnit unit = NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond;
        return [calendar components:unit fromDate:from toDate:date options:0];
    }
    

    然后模拟下,在viewDidLoad里放入

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
    NSDate *selfDate = [formatter dateFromString:@"2016-03-28 09:30:30"];
    NSDateComponents * units = [self dateFrom:selfDate];
    NSLog(@"year = %ld, month = %ld, day = %ld, hour = %ld, min = %ld, sec = %ld", (long)units.year, (long)units.month, (long)units.day, (long)units.hour, (long)units.minute, (long)units.second);
    

    感兴趣的人可以试试看哦。

    4.位移枚举
    之前在群里聊天的时候,有种登录状态的处理1.是否登录,2是否vip,或者再多种情况的排列组合,可以用位置枚举,根据自身的值去判定所有的情况。

    相关文章

      网友评论

          本文标题:iOS一周总结(二)

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