KWMPickView.m 3.54 KB
//
//  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