//
|
// DateTimePicker.m
|
// CustomDateTimePicker
|
//
|
// Created by Coder on 4/2/14.
|
// Copyright (c) 2014 AcademicSoftware. All rights reserved.
|
//
|
|
#import "DateTimePicker.h"
|
|
#define MyDateTimePickerToolbarHeight 45
|
|
@interface DateTimePicker()
|
|
@property (nonatomic, assign, readwrite) UIDatePicker *picker;
|
|
@property (nonatomic, assign) id doneTarget;
|
@property (nonatomic, assign) id cancelTarget;
|
@property (nonatomic, assign) SEL doneSelector;
|
@property (nonatomic, assign) SEL cancelSelector;
|
|
- (void) donePressed;
|
|
@end
|
|
|
@implementation DateTimePicker
|
|
@synthesize picker = _picker;
|
|
@synthesize doneTarget = _doneTarget;
|
@synthesize cancelTarget = _cancelTarget;
|
@synthesize doneSelector = _doneSelector;
|
@synthesize cancelSelector = _cancelSelector;
|
|
- (id) initWithFrame: (CGRect) frame {
|
if ((self = [super initWithFrame: frame])) {
|
//self.backgroundColor = [UIColor clearColor];
|
self.backgroundColor = [UIColor whiteColor];
|
|
//UIDatePicker *picker = [[UIDatePicker alloc] initWithFrame: CGRectMake(0, MyDateTimePickerToolbarHeight - 15, frame.size.width, frame.size.height - MyDateTimePickerToolbarHeight)];
|
UIDatePicker *picker = [[UIDatePicker alloc] initWithFrame: CGRectMake(0, MyDateTimePickerToolbarHeight - 20, frame.size.width, frame.size.height - MyDateTimePickerToolbarHeight)];
|
[self addSubview: picker];
|
|
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame: CGRectMake(0, 0, frame.size.width, MyDateTimePickerToolbarHeight)];
|
//toolbar.barStyle = UIBarStyleBlackOpaque;
|
toolbar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
|
toolbar.tintColor = [UIColor grayColor];
|
|
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle: @"确 定" style: UIBarButtonItemStyleBordered target: self action: @selector(donePressed)];
|
UIBarButtonItem* flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
|
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle: @"取 消" style: UIBarButtonItemStyleBordered target: self action: @selector(cancelPressed)];
|
toolbar.items = [NSArray arrayWithObjects:cancelButton,flexibleSpace, doneButton, nil];
|
|
[self addSubview: toolbar];
|
|
self.picker = picker;
|
picker.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin;
|
|
self.autoresizesSubviews = YES;
|
self.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin;
|
}
|
return self;
|
}
|
|
- (void) setMode: (UIDatePickerMode) mode {
|
self.picker.datePickerMode = mode;
|
}
|
|
- (void) donePressed {
|
if (self.doneTarget) {
|
[self.doneTarget performSelector:self.doneSelector withObject:nil afterDelay:0];
|
}
|
}
|
|
- (void) cancelPressed {
|
if (self.cancelTarget) {
|
[self.cancelTarget performSelector:self.cancelSelector withObject:nil afterDelay:0];
|
}
|
}
|
|
- (void) addTargetForDoneButton: (id) target action: (SEL) action {
|
self.doneTarget = target;
|
self.doneSelector = action;
|
}
|
|
- (void) addTargetForCancelButton: (id) target action: (SEL) action {
|
self.cancelTarget=target;
|
self.cancelSelector=action;
|
}
|
|
@end
|