iOS一周總結(jié)(二)

工作還是比較忙的,在平時也是沒時間總結(jié)和學(xué)習(xí),不過身為一個程序員,如果想要進步,總結(jié)和學(xué)習(xí)還是很重要的~于是有了個每周總結(jié),主要是記錄工作上遇到的技術(shù)或者小技巧。
1.UIViewContentMode
在做照片預(yù)覽的時候,為了讓圖片居中顯示,判斷它的size是width>height來手動計算他的frame。
但其實UIImageView有個contentMode的屬性,可以讓他居中,但是由于是這個屬性是根據(jù)image原來的size的。于是乎可以使用image的[+ imageWithCGImage:scale:orientation:]這個方法,改變下從相冊中獲取到的image的size。

2.anchorPoint
之前有個需求要繞著左下角轉(zhuǎn)圈,于是想到了anchorPoint這個屬性,果然還是成功了,當(dāng)然設(shè)置了他的anchorPoint后frame會改變下,所以可以記住原來的frame,再設(shè)置anchorPoint然后再改frame。

3.NSDateComponents
接到個日歷的需求,也接到個朋友圈類似于倒計時的功能,比如發(fā)表于幾分鐘前什么的。其實很重要的一個東西就是NSDateComponents這個類,他具有year,month,day等屬性。比如獲取時間和當(dāng)前差多少,先構(gòu)造個方法,用來比較和當(dāng)前時間差多少

- (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.位移枚舉
之前在群里聊天的時候,有種登錄狀態(tài)的處理1.是否登錄,2是否vip,或者再多種情況的排列組合,可以用位置枚舉,根據(jù)自身的值去判定所有的情況。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容