2012-01-26 31 views
1

我有2個按鈕和2個可變數組。當我按下其中一個按鈕時,我想用相應的數組填充UIPickerView。但問題是你只能實現一次選擇器視圖方法。所以現在我想檢查哪個按鈕被按下,然後用相應的數組填充我的選擇器視圖。任何人有想法?使用可變數組中的值填充選取器視圖

-(IBAction)setPicker:(id)sender{ 

    if (sender == btncategorie){ 
     [self fillArrayCategorie]; 
    } 
    else { 
     [self fillArrayHomeparty]; 
    } 

    if (pickview.hidden == TRUE) { 
     [pickview setHidden:NO]; 
     [pickview reloadAllComponents]; 
    }else { 
     [pickview setHidden:YES]; 

     [pickview reloadAllComponents]; 
    } 
} 

- (NSString *)pickerView:(UIPickerView *)pickview titleForRow:(NSInteger)row forComponent:(NSInteger)component{ 

    return [arrayHomeParty objectAtIndex:row]; 

} 
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 
    [pickview setHidden:YES]; 
    homLabel.text= [arrayHomeParty objectAtIndex:row]; 
} 

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickView{ 
    return 1;// assuming a single spinning wheel of strings (not split into left/right for example) 
} 

-(NSInteger)pickerView:(UIPickerView *)pickview numberOfRowsInComponent:(NSInteger)component{ 
    return [arrayHomeParty count]; 
} 

這是我的代碼來填充數組。問題是如何在我的pickerview方法中說他們應該在按下homeparty按鈕時使用arrayHomeparty,並且在按下category按鈕時pickerviewer應該填充arrayCategorie。

回答

1

您可以創建反映數據狀態的BOOL標誌,或者僅使用UISegmentedControl在狀態之間切換。在交換機上重新加載您的選擇器數據並在pickerView:titleForRow:返回與狀態對應的標題。

+0

你可以發佈一些代碼嗎? – steaphann