1.定制了一个UIPickerView ,有2个选择器。
2.涉及到的相关代码有
头文件中定义:
#define YearPicker 0
#define MonthPicker 1
@property(nonatomic,retain) NSMutableArray * years;
@property(nonatomic,retain) NSMutableArray * months;
m文件中的相关代码
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
[Tools setView:self.view backgourndImg:@"background.png"];
//左边的选择器是年,从1990到2030
//右边的选择器是月,12个数据
years = [[NSMutableArray alloc] init];
months = [[NSMutableArray alloc] init];
for( int i = 0 ; i< 40 ;i++)
{
[years addObject:[[NSString alloc] initWithFormat:@"%d",i+1990]];
}
for( int i =0 ; i < 12 ; i++)
{
[months addObject:[[NSString alloc] initWithFormat:@"%d",i+1]];
}
}
return self;
}
//选取器如果有多个滚轮,就返回滚轮的数量,我们这里有两个,就返回2
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 2;
}
//返回给定的组件有多少行数据
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
if (component == YearPicker) {
return [self.years count];
}
return [self.months count];
}
-(void) viewDidAppear:(BOOL)animated
{
//把2个选择器,定位到当前设置的年和月
AppDelegate * delegate = [[UIApplication sharedApplication]delegate];
[self.datePick selectRow:delegate.theSelectedYear -1990 inComponent:YearPicker animated:YES ];
[self.datePick selectRow:delegate.theSelectedMonth-1 inComponent:MonthPicker animated:YES ];
[super viewDidAppear:animated];
}