UIPickerView

UIPickerView是UIDatePicker的父类,他有两个重要的代理

  • UIPickerViewDataSource
  • UIPickerViewDelegate

UIPickerViewDataSource是Picker的数据源的委托,必须继承的方法有:

  • numberOfComponentsInPickerView://选择器中拨轮的数码

 

//代表总共有两个拨轮
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 
{
    return 2; 
}

  

 

  • pickerView:numberOfRowsInComponent://选择器中某拨轮的行数
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{ 
    if (component == 0) {
        return //拨轮的索引为0的时候,有多少行
    } else {
        return //拨轮的索引为1的时候,有多少行
    }
}    

  

UIPickerViewDelegate是动作的委托,必须继承的方法有:

  • pickerView:titleForRow:forComponent://某个拨轮的行提供显示的数据

 

-(NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row forComponent:(NSInteger)component 
{ 
    if (component == 0) {
        return //第一个拨轮所在的索引row时显示的名字
    } else {//选择市名
        return //第二个拨轮所在的索引row时显示的名字
    }
}       

 

  • pickerView:didSelectRow:inComponent://某个拨轮的某选时的调用
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 
    if (component == 0) 
    {
        //当拨轮所在的列为0的时候,所在行数选择后对应的反应,可包括刷新第二列的动作
        [self.pickerView reloadComponent:1];//刷新第二列的代码
    } 
}

  

当获取信息的时候可使用以下方法,获取当前列所选择的索引 

- (NSInteger)selectedRowInComponent:(NSInteger)component;

posted @ 2016-03-01 01:05  长命百岁  阅读(124)  评论(0编辑  收藏  举报