在 App 中選擇日期,通常我們會用到 UIDatePicker 這個控件,作為 UIControl 的一員它使用起來非常簡單,但我發(fā)現(xiàn)這個東西也有幾個缺點,比如采用轉輪的方式,操作起來總感覺不太方便,尤其是選擇就近時間的時候經(jīng)常會誤操作;另外它不支持周數(shù)、星期數(shù)的顯示,如果想根據(jù)近期時間進行安排就比較不直觀。
于是 GitHub 上找了一圈,發(fā)現(xiàn)有幾個日歷風格的控件,但是風格有點老,索性我就自己造個輪子吧,我把它叫做 Daysquare。
先放地址: Daysquare - Cyandev
預覽圖

overview.gif
特點
- 支持很豐富的自定義
- 采用 Target-Action 模式,使用方便
使用方法
1. 添加到界面
你可以在 IB 中拖拽一個 View,然后設置 Custom Class,也可采用代碼的方式創(chuàng)建 DAYCalendarView
2. 響應事件
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self.calendarView addTarget:self action:@selector(calendarViewDidChange:) forControlEvents:UIControlEventValueChanged];
}
3. 獲取和設置選中的日期
- (void)calendarViewDidChange:(id)sender {
NSLog(@"%@", self.calendarView.selectedDate);
// self.calendarView.selectedDate = ...;
}
其他具體的效果大家自己慢慢玩吧~