工作還是比較忙的兽泣,在平時(shí)也是沒(méi)時(shí)間總結(jié)和學(xué)習(xí)奶镶,不過(guò)身為一個(gè)程序員,如果想要進(jìn)步诈闺,總結(jié)和學(xué)習(xí)還是很重要的~于是有了個(gè)每周總結(jié)渴庆,主要是記錄工作上遇到的技術(shù)或者小技巧。
1.UIViewContentMode
在做照片預(yù)覽的時(shí)候雅镊,為了讓圖片居中顯示襟雷,判斷它的size是width>height來(lái)手動(dòng)計(jì)算他的frame。
但其實(shí)UIImageView
有個(gè)contentMode
的屬性仁烹,可以讓他居中耸弄,但是由于是這個(gè)屬性是根據(jù)image原來(lái)的size的。于是乎可以使用image的[+ imageWithCGImage:scale:orientation:]
這個(gè)方法卓缰,改變下從相冊(cè)中獲取到的image的size计呈。
2.anchorPoint
之前有個(gè)需求要繞著左下角轉(zhuǎn)圈,于是想到了anchorPoint
這個(gè)屬性征唬,果然還是成功了捌显,當(dāng)然設(shè)置了他的anchorPoint
后frame會(huì)改變下,所以可以記住原來(lái)的frame总寒,再設(shè)置anchorPoint
然后再改frame扶歪。
3.NSDateComponents
接到個(gè)日歷的需求,也接到個(gè)朋友圈類(lèi)似于倒計(jì)時(shí)的功能偿乖,比如發(fā)表于幾分鐘前什么的击罪。其實(shí)很重要的一個(gè)東西就是NSDateComponents
這個(gè)類(lèi)哲嘲,他具有year
,month
,day
等屬性。比如獲取時(shí)間和當(dāng)前差多少媳禁,先構(gòu)造個(gè)方法眠副,用來(lái)比較和當(dāng)前時(shí)間差多少
- (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.位移枚舉
之前在群里聊天的時(shí)候囱怕,有種登錄狀態(tài)的處理1.是否登錄,2是否vip毫别,或者再多種情況的排列組合娃弓,可以用位置枚舉,根據(jù)自身的值去判定所有的情況岛宦。