2016-09-29 45 views

回答

1

可以在第一选择器视图中获得价值选择这样

NSInteger row; 
NSArray *firstPickerViewDataArray; 
UIPickerView *firstPickerView; 
NSString *selectedValue; 

row = [firstPickerView selectedRowInComponent:0]; 
selectedValue = [firstPickerViewDataArray objectAtIndex:row]; 

获取日从服务器E数据或任何你想要和存储到另一个数组一样

NSArray * secondPickerViewDataArray; 

后,您可以使用以下方法来显示值

- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ 
     if (pickerView == secondPickerView){ 
      // Do whatever you want based on selected value in first PickerView 
      return secondPickerViewDataArray[row]; 
      }else{ 
    //stuff for first pickerView 
     } 
      } 
3

这很简单。你必须从数组中填充你的第二个选择器视图。

使您的视图控制器成为选取器视图的委托和数据源。

然后当您在第一个选取器视图中选择一个项目时调用'func pickerView(UIPickerView,didSelectRow:Int,inComponent:Int)'委托方法,更新第二个选取器视图的数据数组并在其上调用reloadAllComponents它

下面是一些代码

func pickerView(UIPickerView, didSelectRow: Int, inComponent: Int) 
{ 
    if (pickerView == self.firstPicker) 
    { 
     //calculate your data array for the second picker here 
     self.secondPickerView.reloadAllComponents() 
    } 
} 
+0

是第二种观点被填充阵列,问题是,如果我在第一个选择器视图中的索引1处选择一个对象,则仅从该对象中检索第二个选择器中的数据数组。 –

相关问题