前言
通常讨韭,我們做iOS App開發(fā)過程中,都會(huì)經(jīng)常用到一些常用的功能癣蟋。例如:啟動(dòng)頁透硝,輪播圖,下拉框選擇疯搅,驗(yàn)證碼濒生,網(wǎng)頁緩存,本地圖片選擇幔欧,常用TableView的風(fēng)格罪治,CollectionView風(fēng)格等等丽声,這些常用的功能在我們?nèi)粘i_發(fā)中,幾乎每個(gè)項(xiàng)目都用到觉义,或者是一個(gè)項(xiàng)目當(dāng)中多個(gè)功能用到這些小功能雁社,所以,我打算把這些常用的功能封裝成一個(gè)個(gè)接口晒骇,再封成一個(gè)常用的類庫霉撵,大大的減少寫重復(fù)代碼的過程,與節(jié)省開發(fā)的時(shí)間洪囤,有更多的時(shí)間投入業(yè)務(wù)邏輯之中徒坡。
而今天介紹和封裝的是 “時(shí)間日期相關(guān)功能封裝“。
因?yàn)檫@些功能比較簡單瘤缩,著重點(diǎn)是在于封裝喇完,一鍵集成
長話短說,上圖剥啤,上代碼锦溪,作簡單的說明
圖1是時(shí)間日期相關(guān)功能封裝
的主要代碼,左邊的類是功能的大體框架铐殃,核心是封裝類RMPublicMethod海洼。
圖2則是集成功能后的界面。
現(xiàn)在簡單的介紹下封裝后與日期相關(guān)
的集成方法和代碼
1富腊、獲取年齡(方法封裝)坏逢,即某人輸入出生日期后,即可獲取某人的年齡
赘被,具體的實(shí)現(xiàn)可查看RMPublicMethod類是整。(github下載地址在下面)
#pragma mark - 獲取年齡
- (IBAction)getTheAge:(UIButton *)sender
{
// 注意:self.ageTextField.text 為 2015-08-21 12:00:00 這類型的格式。
NSString *age = [RMPublicMethod userAge:self.ageTextField.text];
[sender setTitle:age forState:UIControlStateNormal];
}
2民假、獲取自定義格式的日期(方法封裝)浮入,即出生日期后,就可以按照自己想要的格式定義輸出的日期
羊异,具體的實(shí)現(xiàn)可查看RMPublicMethod類事秀。
#pragma mark - 獲取自定義格式的日期
- (IBAction)getTheCustomDate:(UIButton *)sender
{
// 注意:customDateTextField 為 2015-08-21 12:00:00 這類型的格式
NSString *date = [RMPublicMethod customDate2:self.customDateTextField.text withDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[sender setTitle:date forState:UIControlStateNormal];
}
3、根據(jù)日期獲取當(dāng)前星期(方法封裝)野舶,即出生日期后易迹,就可以獲取當(dāng)前是星期幾
,具體的實(shí)現(xiàn)可查看RMPublicMethod類平道。(github下載地址在下面)
#pragma mark - 根據(jù)日期獲取當(dāng)前星期
- (IBAction)getTheWeekDays:(UIButton *)sender
{
// 注意:customDateTextField 為 2015-08-21 12:00:00 這類型的格式
NSString *date = [RMPublicMethod weekdayStringFromDate:self.weekDaysTextField.text withDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[sender setTitle:date forState:UIControlStateNormal];
}
4睹欲、日期選擇彈出框(方法封裝),點(diǎn)擊“請選擇日期”按鈕即可彈出日期的選擇框,如下圖窘疮,和集成的方法
#pragma mark - 選擇日期
- (IBAction)opentData:(id)sender
{
NSDate *currentDate = [NSDate date];//獲取當(dāng)前時(shí)間袋哼,日期
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-MM-dd"];
NSString *dateString = [dateFormatter stringFromDate:currentDate];
[RMPublicMethod showSelectDatePicker:@"選擇日期" showDate:dateString mode:UIDatePickerModeDate format:@"yyyy-MM-dd" viewControl:self selectedDate:^(NSString *myDate) {
[self.seletedDate setTitle:myDate forState:UIControlStateNormal];
} cancel:^{
NSLog(@"FAILE");
}];
}
5、時(shí)間選擇彈出框(方法封裝)闸衫,點(diǎn)擊“請選擇時(shí)間”按鈕即可彈出時(shí)間的選擇框,如下圖蔚出,和集成的方法
6疫蔓、日期時(shí)間選擇彈出框(方法封裝),點(diǎn)擊“請選擇日期和時(shí)間”按鈕即可彈出日期和時(shí)間的選擇框,如下圖酥筝,和集成的方法
#pragma mark - 選擇日期和時(shí)間
- (IBAction)openDateAndTime:(id)sender
{
NSDate *currentDate = [NSDate date];//獲取當(dāng)前時(shí)間嘿歌,日期
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:currentDate];
[RMPublicMethod showSelectDatePicker:@"選擇日期和時(shí)間" showDate:dateString mode:UIDatePickerModeDateAndTime format:@"yyyy-MM-dd HH:mm:ss" viewControl:self selectedDate:^(NSString *myDate) {
[self.selectedDateAndTime setTitle:myDate forState:UIControlStateNormal];
} cancel:^{
NSLog(@"FAILE");
}];
}