iOS一周总结(二)

2016-08-21  本文已影响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,或者再多种情况的排列组合,可以用位置枚举,根据自身的值去判定所有的情况。

上一篇下一篇

猜你喜欢

热点阅读