2013-02-16 62 views

回答

2

也許嘗試一個雙組件選取器視圖。

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ 
return 2; 
} 

假設你有兩個數組,self.firstArray和self.secondArray來填充這兩個組件。

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view 
{ 
if (component == 0) { 
    UILabel *numberLabel = [[UILabel alloc] init]; 
    NSString *numberString = [self.firstArray objectAtIndex:row]; 
    numberLabel.font = [UIFont systemFontOfSize:14]; 
    numberLabel.text = numberString; 
    return numberLabel; 
} else { 
    UILabel *alphabetLabel = [[UILabel alloc] init]; 
    NSString *alphabet = [self.secondArray objectAtIndex:row]; 
    alphabetLabel.font = [UIFont systemFontOfSize:14]; 
    alphabetLabel.text = alphabet; 
    return alphabetLabel; 
} 
} 

然後你就可以獲取到用戶選擇的值是這樣的:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent: (NSInteger)component 
{ 
NSLog(@"selected number: %@", self.firstArray[[self.pickerView selectedRowInComponent:0]]); 
NSLog(@"selected alphabet: %@", self.secondArray[[self.pickerView selectedRowInComponent:1]]); 
}