Ajouter dynamiquement des valeurs de UIPickerView au moment de l'exécution
Comment pouvez-vous ajouter dynamiquement des valeurs de UIPickerView au moment de l'exécution.
J'utilise le code suivant pour remplir un UIPickerView de manière statique. Besoin d'ajouter
les valeurs de manière dynamique au moment de l'exécution, par exemple, pour Trois, Quatre etc.
- (NSString *) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
NSString *title = nil;
if(row==0){
title = @"One";
}
if(row==1){
title = @"Two";
}
OriginalL'auteur L. DPenha | 2009-02-25
Vous devez vous connecter pour publier un commentaire.
Si vous aviez un tableau des titres, vous pouvez utiliser quelque chose comme:
Les titres seront mis à jour lorsque vous appelez
[pickerView reloadAllComponents]
(oureloadComponent:
si vous avez plus d'une colonne et que vous souhaitez uniquement pour actualiser l'un d'eux).Désolé, j'aurais dû en parler. Mis à jour.
OriginalL'auteur Sophie Alpert
Hey j'ai eu un problème avec UIPickerView..... quand je l'appelle reloadAllComponents il n'était pas à l'appel de widthForComponent, mais c'était l'appel de délégués d'autres méthodes telles que la titleForRow.... Je n'ai aucune idée de pourquoi il en est, peut-être que apple ne veut pas de la largeur de changer dynamiquement? de toute façon c'était sur un autre écran, donc je n'ai pas l'animation/non-problème d'animation. J'ai trouvé qu'en réinitialisant le délégué du sélecteur, j'ai pu obtenir widthForComponent d'être appelé de nouveau!
c'est à dire
où la vue met en œuvre UIPickerViewDelegate.... espérons que cela aide quelqu'un là-bas!
OriginalL'auteur essetesse