2010-12-13 6 views
1

Ich muss die Dropdown-Box in meiner App anzeigen.Verwechslung mit dem Öffnen Zwei Array-Werte für Klickereignisse mit zwei Schaltflächen in der UIPicker-Ansicht

die meisten von ihnen schlagen mir UIPickerView für die Dropdown-Box vor.

Aber meine Anforderung ist, dass ich zwei Dropdown-Boxen in meiner App platzieren muss.

MY-Code für UIPicker Ansicht ist

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView { 

    return 1; 
} 

- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component { 

    return [arrayColors count]; 
} 

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

    return [arrayColors objectAtIndex:row]; 
} 

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 

    NSLog(@"Selected Color: %@. Index of selected color: %i", [arrayColors objectAtIndex:row], row); 
} 



- (IBAction)dropdown_term_in_years: (id)sender 
{ 
    UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Ratings" 
                 delegate:self 
              cancelButtonTitle:@"OK" 
             destructiveButtonTitle:nil 
              otherButtonTitles:nil]; 

    UIPickerView *pickerView = [[UIPickerView alloc] init]; 
    //pickerView.datePickerMode = UIDatePickerModeDate; 
    pickerView.showsSelectionIndicator = YES; 
    pickerView.dataSource = self; 
    pickerView.delegate = self; 

    [menu addSubview:pickerView]; 
    [menu showInView:self.view]; 
    [menu sendSubviewToBack:pickerView];  
    [menu setBounds:CGRectMake(0,0,320, 300)]; 

    CGRect pickerRect = pickerView.bounds; 
    //pickerRect.origin.y = -100; 
    pickerView.bounds = pickerRect; 

    [pickerView release]; 
    [menu release]; 
} 

dies einem Klick funktioniert, muss ich für die andere Schaltfläche klicken ein anderes Array Werte öffnen.

Wie kann ich das tun.

PLs mir helfen.

Vielen Dank im Voraus.

Antwort

1

Ich denke, Sie benötigen Tag-Zuordnung für alle Picker anzeigen. Weisen Sie zwei verschiedene Tags für beide Picker-Ansichten zu.

Nun einfach Tag aus dem PickerView-Argument und nehmen Sie entsprechende Maßnahmen innerhalb der Delegierten. d.h - (NSInteger) picker: (UIPickerView *) thePickerView numberOfRowsInComponent: (NSInteger) -Komponente { Schalter (thePickerView.tag) { Fall 101: return [arrayImage count]; Fall 102: Rückgabe [arrayColors count]; } }

Verwandte Themen