/////别忘记 .h 中写代理 <UIPickerViewDelegate,UIPickerViewDataSource>
/////UIPickerView和UIDatePicker是类似的控件,只不过UIDatePicker是日期控件,只能放日期,而UIPickerView可以放任何东西。
- (void)viewDidLoad
{
[super viewDidLoad];
_dataArray = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", @"d", @"e", @"f", nil];
UIPickerView* pv = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 460-216, 320, 216)];
pv.delegate = self;
pv.dataSource = self;
pv.showsSelectionIndicator = YES;
[self.view addSubview:pv];
//[pv release];
}
//多少组
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 2;
}
//每一组多少行
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if (component == 1) {
return 3;
}
if (component == 0) {
return _dataArray.count;
}
return 10;
}
//显示每一行的文本
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if (component == 0) {
return [_dataArray objectAtIndex:row];
}
return [NSString stringWithFormat:@"%d",row];
}
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
//如果是第0组
if (component == 0) {
//如果是第0组的第0行
if (row == 0) {
//return 显示的view
}
if (row == 1) {
//
}
}
UIView* myview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
myview.backgroundColor = [UIColor redColor];
return myview;
}
//选择一行就会调用这个方法
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
NSLog(@"选择的是第%d组,第%d行",component,row);
}
网友评论