// // KWMPickView.m // iYeJu // // Created by kollway1 on 15/7/13. // Copyright (c) 2015年 YeJu. All rights reserved. // #import "KWMPickView.h" #import "UIColor+SAMAdditions.h" #import "KWMStringUtil.h" @implementation KWMPickView{ NSInteger selectYear; NSInteger selectMonth; } -(id)initWithFrame:(CGRect)frame{ if(self = [super initWithFrame:frame]){ [self addView]; } return self; } -(void)awakeFromNib{ [super awakeFromNib]; [self addView]; } -(void)addView{ [[NSBundle mainBundle] loadNibNamed:@"KWMPickView" owner:self options:nil]; [self addSubview:self.vContentView]; self.vContentView.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height); self.pvPickView.delegate = self; self.pvPickView.dataSource = self; UITapGestureRecognizer*tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(onClickBg)]; [self.vBg addGestureRecognizer:tapGesture]; [self initBtnBorder]; } //设置标题 -(void)setTitle:(NSString *)title{ _title = title; if (![KWMStringUtil isEmpty:title]) { self.lbTitle.text = title; } } - (void)initBtnBorder { self.btnConfirm.layer.cornerRadius = 5; self.btnConfirm.layer.borderColor = [UIColor sam_colorWithHex:@"FE9D36"].CGColor; self.btnConfirm.layer.borderWidth = 1; } #pragma mark OnClickButton -(void) onClickBg{ [self hidePickView]; } //点击确定 -(void)onClickConfirm:(id)sender{ NSString *year = [self.yearArray objectAtIndex:selectYear]; NSString *month = [self.monthArray objectAtIndex:selectMonth]; [self hidePickView]; if (self.delegate != nil) { [self.delegate kwm_OnSelectYearTime:year selectMonthTime:month pickView:self]; } } //显示pickview -(void)showPickerView:(NSString*) year setSelectMonth:(NSString *) month{ self.hidden = NO; NSInteger currentYear = 0; for (NSInteger i = 0; i < self.yearArray.count; i++) { NSString *curYear = [self.yearArray objectAtIndex:i]; if ([curYear isEqual:year]) { currentYear = i; } } selectYear = currentYear; selectMonth = [month intValue]-1; [self.pvPickView selectRow:selectYear inComponent:0 animated:YES]; [self.pvPickView selectRow:selectMonth inComponent:1 animated:YES]; } //隐藏pickview -(void)hidePickView{ [UIView transitionWithView:self duration:0.3 options:UIViewAnimationOptionTransitionCrossDissolve animations:NULL completion:NULL]; self.hidden = !self.hidden; } #pragma mark -- pickView -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ return 2; } -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ if (component == 0) { return [self.yearArray count]; }else{ return [self.monthArray count]; } } -(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ if (component == 0) { //显示年 return [self.yearArray objectAtIndex:row]; } else { //显示星座 return [self.monthArray objectAtIndex:row]; } } //选择的行数 -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ if (component == 0) { selectYear = row; }else{ selectMonth = row; } } @end