2016-09-29 25 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處選擇一個對象,則僅從該對象中檢索第二個選擇器中的數據數組。 –

相關問題