KWMPickView.m 3.54 KB
Newer Older
houweibin committed
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
//
//  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