UIPickerView 滾動選擇器
/////別忘記 .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) {
} if (component == 0) {return 3;
} return 10; }return _dataArray.count;
//顯示每一行的文本
(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);
}</pre>