J'ai une application basée sur les données de base sur laquelle je travaille, qui utilise un EditingViewController pour contrôler un certain nombre d'éléments d'interface utilisateur différents qui reçoivent des entrées de l'utilisateur qui décrivent les attributs d'un objet qui est ensuite stocké dans mon application. Le fichier EditingViewController.xib contient des éléments tels que datePicker, textField, numberSlider et où mon problème provient d'un UIPickerView, qui sont tous contrôlés dans une vue à l'aide des expressions .hidden = YES/NO;
. Mon problème est que j'ai besoin de remplir un UIPickerView dans deux écrans séparés, qui doivent avoir deux sources NSMutableArray différentes. Dans ma méthode viewDidLoad configurer mon premier NSMutableArray:UIPickerView avec 2 NSMutableArrays?
listOfItems = [[NSMutableArray alloc] init];
[listOfItems addObject:@"Greenland"];
[listOfItems addObject:@"Switzerland"];
[listOfItems addObject:@"Norway"];
[listOfItems addObject:@"New Zealand"];
[listOfItems addObject:@"Greece"];
[listOfItems addObject:@"Rome"];
[listOfItems addObject:@"Ireland"];
Et après cela, je peupler mon sélecteur UIPickerView * avec ce code:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)picker;
{
return 1;
}
- (void)pickerView:(UIPickerView *)picker didSelectRow:(NSInteger)row inComponent: (NSInteger)component
{
label.text= [listOfItems objectAtIndex:row];// The label is simply setup to show where the picker selector is at
}
- (NSInteger)pickerView:(UIPickerView *)picker numberOfRowsInComponent:(NSInteger)component;
{
return 8;//[listOfItems count];
}
- (NSString *)pickerView:(UIPickerView *)picker titleForRow:(NSInteger)row forComponent: (NSInteger)component;
{
return [listOfItems objectAtIndex:row];
}
Et cela fonctionne très bien pour le premier attribut et tableau. Alors après cela, quand une autre uitableviewcell est sélectionnée, le sélecteur est caché picker.hidden = YES;
et j'ai besoin d'un autre sélecteur, picker2 apparaît avec un tableau différent d'informations. Mais quand j'essaye de dupliquer le processus, en configurant un nouveau sélecteur, en l'appelant picker2, et en essayant de le remplir avec un NSMutableArray différent que j'ai créé juste à côté du premier (tout cela parce que dans mon EditingViewController de la même vue, en appelant simplement différents éléments de l'interface utilisateur en fonction de la vue) Je ne peux pas faire en sorte que picker2 soit rempli avec le nouveau tableau. Je ne sais pas comment le configurer afin que mes deux tableaux différents puissent être peuplés. Ai-je besoin de deux vues de sélecteur? Peut-il être fait avec un seul? Quelle est la syntaxe correcte dans la méthode - (NSString *)pickerView:(UIPickerView *)picker titleForRow:(NSInteger)row forComponent: (NSInteger)component;
pour rendre les deux tableaux visibles séparément? J'espère que quelqu'un pourra m'aider à ce sujet, merci d'avance!
Wow, merci! C'était parfait! – Steve