前言
在日常開發(fā)過程中,時間選擇器的使用場景應(yīng)該是比較高的,而且各個場景的具體需求也各式各樣,比如一些場景中,只需要選擇年月,有的需要包含“至今”,有的選擇時間,有的需要選擇年月日和時分,然而這些都需要自定義數(shù)據(jù)源,這里把自己遇到過的類型做了一個總結(jié)和記錄。
年份選擇
數(shù)據(jù)源1970至今,最后根據(jù)具體需求判斷是否需要添加"至今"數(shù)據(jù)源,效果如下:

year
年和月份選擇
年份數(shù)據(jù)源1970至今,月份為當年的最大月份,當切換到其他年份時,月份數(shù)據(jù)源變更為1~12月,當選擇到“至今”時,月份數(shù)據(jù)為空,效果如下:

year&month
時和分選擇
這里的起止時間節(jié)點根據(jù)初始化時傳入的數(shù)據(jù)進行配置,分鐘的間隔數(shù)也由調(diào)用者動態(tài)配置

hour&min
仿滴滴時間選擇
這個picker是這幾種類型中相對最復雜的一種,牽涉到數(shù)據(jù)源的完全計算,NSdate和NSString的相互轉(zhuǎn)換,pickView樣式的高度自定義。之前已經(jīng)寫過一篇,這里就不做copy了,詳情請看:iOS仿滴滴預約用車時間選擇器
使用方式
各個picker的數(shù)據(jù)源,基本沒有難點,有興趣的可自行查看源碼。
稍微說說使用方式,下載源碼,拖入工程,或者直接使用cocoapods:pod 'QFDatePicker'
調(diào)用對應(yīng)的初始化方法(init...)和show方法,以年份為例:
QFDatePickerView *datePickerView = [[QFDatePickerView alloc]initYearPickerWithView:self.view response:^(NSString *str) {
NSString *string = str;
NSLog(@"str = %@",string);
}];
[datePickerView show];
選中的時間在block中處理,其他調(diào)用類似,相信睿智的您一眼就能看明白。
這篇主要是對一年前的文章做一次整理(之前的確實有點辣眼睛),希望看到的朋友輕噴。