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) { 
        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); 
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5207.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论