123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- //
- // JXDatePicker.m
- // shiku_im
- //
- // Created by flyeagleTang on 15-1-7.
- // Copyright (c) 2015年 Reese. All rights reserved.
- //
- #import "JXDatePicker.h"
- @implementation JXDatePicker
- @synthesize delegate,didCancel,datePicker,didSelect,didChange;
- - (id)initWithFrame:(CGRect)frame{
- int h = 26;
-
- self = [super initWithFrame:frame];
- if (self) {
- self.hint = Localized(@"JXDatePicker_Sel");
- // self.backgroundColor = [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1];
- self.backgroundColor = [UIColor whiteColor];
- datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, h, frame.size.width, 200-h)];
- datePicker.datePickerMode = UIDatePickerModeDateAndTime;
- datePicker.backgroundColor = [UIColor whiteColor];
- datePicker.date = [NSDate date];
- datePicker.maximumDate = [NSDate date];
- [datePicker addTarget:self action:@selector(onDate:) forControlEvents:UIControlEventValueChanged];
- [self addSubview:datePicker];
- // [datePicker release];
-
- NSLocale *p = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
- datePicker.locale = p;
- // [p release];
-
- _sel = [[JXLabel alloc] initWithFrame:CGRectMake(h, 0, frame.size.width-h*2, h)];
- _sel.font = g_factory.font16;
- _sel.textAlignment = NSTextAlignmentCenter;
- _sel.textColor = [UIColor grayColor];
- _sel.delegate = self;
- _sel.didTouch = @selector(onClose);
- [self addSubview:_sel];
- // [_sel release];
-
- JXImageView* iv = [[JXImageView alloc]initWithFrame:CGRectMake(0, 0, h, h)];
- iv.image = [UIImage imageNamed:@"title_back"];
- iv.delegate = self;
- iv.didTouch = @selector(onClose);
- [self addSubview:iv];
- // [iv release];
-
- iv = [[JXImageView alloc]initWithFrame:CGRectMake(frame.size.width-h, 0, h, h)];
- iv.image = [UIImage imageNamed:@"icon_selected"];
- iv.delegate = self;
- iv.didTouch = @selector(onSelect);
- [self addSubview:iv];
- // [iv release];
- }
- return self;
- }
- -(void)dealloc{
- self.hint = nil;
- // [super dealloc];
- }
- -(void)onClose{
- [self removeFromSuperview];
- if (delegate && [delegate respondsToSelector:didCancel])
- // [delegate performSelector:didCancel withObject:nil];
- [delegate performSelectorOnMainThread:didCancel withObject:nil waitUntilDone:NO];
- }
- -(void)onSelect{
- [self removeFromSuperview];
- if (delegate && [delegate respondsToSelector:didSelect])
- // [delegate performSelector:didSelect withObject:self];
- [delegate performSelectorOnMainThread:didSelect withObject:self waitUntilDone:NO];
- }
- - (void)onDate:(UIView*)sender{
- NSString* s = nil;
- if(datePicker.datePickerMode == UIDatePickerModeDateAndTime)
- s = @"yyyy-MM-dd HH:mm";
- if(datePicker.datePickerMode == UIDatePickerModeDate)
- s = @"yyyy-MM-dd";
- if(datePicker.datePickerMode == UIDatePickerModeTime)
- s = @"HH:mm:ss";
-
- _sel.text = [NSString stringWithFormat:@"%@:%@",self.hint,[TimeUtil formatDate:datePicker.date format:s]];
- if(sender)
- if (delegate && [delegate respondsToSelector:didChange])
- // [delegate performSelector:didChange withObject:self];
- [delegate performSelectorOnMainThread:didChange withObject:self waitUntilDone:NO];
- }
- -(NSDate*)date{
- return datePicker.date;
- }
- -(void)setDate:(NSDate *)p{
- datePicker.date = p;
- [self onDate:nil];
- }
- - (void)didMoveToSuperview{
- datePicker.tag = self.tag;
- [self onDate:nil];
- [super didMoveToSuperview];
- }
- @end
|