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;

浙公网安备 33010602011771号