在ios的开发中,日期选择器是个用的还是蛮多的一个部分,填写用户的出生日期,填写自己的计划,填写自己的约会安排,都是会有用到日期选择的地方的。
我认为这里面的关键点是设置日期的格式(datePickerMode),还有选择日期后去如何处理(这里我没有做),
浏览一下代码吧
UIDatePickerDemoViewController.m
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 #import "UIDatePickerDemoViewController.h" @interface UIDatePickerDemoViewController ()@end @implementation UIDatePickerDemoViewController - (void )viewDidLoad { [super viewDidLoad]; self .navigationController.navigationBar.tintColor = COOKBOOK_PURPLE_COLOR; self .navigationItem.rightBarButtonItem = BARBUTTON(@"操作" , @selector (action:)); UISegmentedControl *seg= [[UISegmentedControl alloc] initWithItems:[@"Time Date DC Count" componentsSeparatedByString:@" " ]]; seg.segmentedControlStyle = UISegmentedControlStyleBar ; seg.selectedSegmentIndex = 0 ; self .navigationItem.titleView = seg; } - (void )didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } #pragma mark - method of UIActionSheet -(void ) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger )buttonIndex{ UIDatePicker *datePicker = (UIDatePicker *)[actionSheet viewWithTag:101 ]; NSDateFormatter *formattor = [[NSDateFormatter alloc] init]; switch ([(UISegmentedControl *) self .navigationItem.titleView selectedSegmentIndex]) { case 0 : formattor.dateFormat = @"h:mm a" ; break ; case 1 : formattor.dateFormat = @"dd MMMM yy" ; break ; case 2 : formattor.dateFormat = @"MM/dd/YY h:mm a" ; break ; case 3 : formattor.dateFormat = @"HH:mm" ; break ; default : break ; } NSString *timestamp = [formattor stringFromDate:datePicker.date]; [(UILabel *)[self .view viewWithTag:103 ] setText:timestamp]; } #pragma mark - method of self -(void ) action:(id )sender{ NSString *title = UIDeviceOrientationIsLandscape ([UIDevice currentDevice].orientation) ? @"\n\n\n\n\n\n\n\n\n" : @"\n\n\n\n\n\n\n\n\n\n\n\n" ; UIActionSheet *actionsheet = [[UIActionSheet alloc] initWithTitle:title delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:@"请选择日期" , nil ]; [actionsheet showInView:self .view]; UIDatePicker *datepicker = [[UIDatePicker alloc] init]; datepicker.tag = 101 ; datepicker.datePickerMode = [(UISegmentedControl *)self .navigationItem.titleView selectedSegmentIndex]; [actionsheet addSubview:datepicker]; } @end
UIDatePickerDemoViewController.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #import <UIKit/UIKit.h> #define COOKBOOK_PURPLE_COLOR [UIColor colorWithRed:0.20392f green:0.19607f blue:0.61176f alpha:1.0f] #define BARBUTTON(TITLE, SELECTOR) [[UIBarButtonItem alloc] initWithTitle:TITLE style:UIBarButtonItemStylePlain target:self action:SELECTOR] @interface UIDatePickerDemoViewController : UIViewController <UIActionSheetDelegate >@end