前言
在日常開發(fā)過程中劣坊,時間選擇器的使用場景應該是比較高的,而且各個場景的具體需求也各式各樣敦跌,比如一些場景中憋沿,只需要選擇年月,有的需要包含“至今”季稳,有的選擇時間擅这,有的需要選擇年月日和時分,然而這些都需要自定義數(shù)據源景鼠,這里把自己遇到過的類型做了一個總結和記錄仲翎。
年份選擇
數(shù)據源1970至今,最后根據具體需求判斷是否需要添加"至今"數(shù)據源铛漓,效果如下:
year
年和月份選擇
年份數(shù)據源1970至今溯香,月份為當年的最大月份,當切換到其他年份時票渠,月份數(shù)據源變更為1~12月逐哈,當選擇到“至今”時,月份數(shù)據為空问顷,效果如下:
year&month
時和分選擇
這里的起止時間節(jié)點根據初始化時傳入的數(shù)據進行配置昂秃,分鐘的間隔數(shù)也由調用者動態(tài)配置
hour&min
仿滴滴時間選擇
這個picker是這幾種類型中相對最復雜的一種,牽涉到數(shù)據源的完全計算杜窄,NSdate和NSString的相互轉換肠骆,pickView樣式的高度自定義。之前已經寫過一篇塞耕,這里就不做copy了蚀腿,詳情請看:iOS仿滴滴預約用車時間選擇器
使用方式
各個picker的數(shù)據源,基本沒有難點扫外,有興趣的可自行查看源碼莉钙。
稍微說說使用方式,下載源碼筛谚,拖入工程磁玉,或者直接使用cocoapods:pod 'QFDatePicker'
調用對應的初始化方法(init...)和show方法,以年份為例:
QFDatePickerView *datePickerView = [[QFDatePickerView alloc]initYearPickerWithView:self.view response:^(NSString *str) {
NSString *string = str;
NSLog(@"str = %@",string);
}];
[datePickerView show];
選中的時間在block中處理驾讲,其他調用類似蚊伞,相信睿智的您一眼就能看明白席赂。
這篇主要是對一年前的文章做一次整理(之前的確實有點辣眼睛),希望看到的朋友輕噴时迫。