iOS自定義日期demo分享
有個項(xiàng)目需求是做個在日期上選擇的,就是這種:
網(wǎng)上看了幾個日期的demo都太厚重了,移植起來太麻煩,然后打算自己寫。
就先寫個簡化的demo看看,主要有幾個關(guān)鍵點(diǎn):
- 首先要根據(jù)當(dāng)前日期獲取這個月有幾天
- 然后判斷這個月份第一天是周幾
- 再根據(jù)上面兩個數(shù)據(jù)在合理的位置顯示數(shù)據(jù)
- 還要記錄下當(dāng)前的日期方便切換月份
- 如果調(diào)接口的話其實(shí)根據(jù)后臺給數(shù)據(jù)比對下對應(yīng)的日期展示數(shù)據(jù)即可
其中有一個容易迷糊的是獲取的星期天是第一天,下標(biāo)是1
所以我們的數(shù)組是這樣的
_weekdays = [NSArray arrayWithObjects: [NSNull null],@"星期日", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六", nil];
好吧,看下寫出來的效果:
總的來說沒什么難度,就是要熟悉下關(guān)于日期的api.
//3.獲取這個月總天數(shù),填充數(shù)據(jù)源 NSRange range = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:self.currentDate]; NSUInteger numberOfDaysInMonth = range.length; NSLog(@"%lu", (unsigned long)numberOfDaysInMonth); //4.獲取這個月的第一天為周幾 NSCalendar *cal = [NSCalendar currentCalendar]; NSDateComponents *comps = [cal components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:self.currentDate]; lastMonthComps.day = 1; NSDate *firstDay = [cal dateFromComponents:comps]; NSCalendarUnit calendarUnit = NSCalendarUnitWeekday; NSDateComponents *firsComponents = [cal components:calendarUnit fromDate:firstDay]; NSLog(@"%@", [_weekdays objectAtIndex:firsComponents.weekday]);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
IOS開發(fā)中如何設(shè)計(jì)短信驗(yàn)證碼防刷機(jī)制
給大家詳細(xì)分享一下在IOS的項(xiàng)目開發(fā)中如何設(shè)計(jì)短信驗(yàn)證碼防刷機(jī)制,已經(jīng)步驟詳解,喜歡的朋友參考下吧。2018-02-02深入理解Objective-C中類的數(shù)據(jù)結(jié)構(gòu)
最近發(fā)現(xiàn)用Objective-C確實(shí)好容易,下面這篇文章主要給大家介紹了關(guān)于Objective-C中類的數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05iOS學(xué)習(xí)教程之UIView中坐標(biāo)轉(zhuǎn)換詳解
這篇文章主要給大家介紹了關(guān)于iOS UIView中坐標(biāo)轉(zhuǎn)換的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來跟著小編一起看看吧。2017-05-05詳解iOS應(yīng)用的設(shè)計(jì)模式開發(fā)中Mediator中介者模式的使用
這篇文章主要介紹了iOS應(yīng)用的設(shè)計(jì)模式開發(fā)中Mediator中介者模式的使用,示例代碼為傳統(tǒng)的Objective-C語言,需要的朋友可以參考下2016-03-03IOS實(shí)現(xiàn)圖片輪播無限循環(huán)效果
這篇文章主要為大家詳細(xì)介紹了IOS實(shí)現(xiàn)圖片輪播無限循環(huán)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03