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