2009-09-01 6 views
0

Je fais une application d'iphone, dans lequel j'ai une vue de table, sur chaque rangée de vue de table j'ai créé un bouton par programmation & sur sa méthode de clic suis montrant la vue de sélecteur. Vue du sélecteur montrant parfaitement, sur la barre d'outils de la vue sélecteur j'ai 2 nom de barre nommé Done & Annuler. J'ai ajouté ci-dessous le code dans la méthode de délégué de vue PickerUIPickerView dans l'iphone

mais titre du bouton ne change pas avec cette méthode déléguée

static int _selectedRow; 

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 
     NSString *title = [pickarray objectAtIndex:_selectedRow]; 
     //[pickarray removeObjectAtIndex:_selectedRow]; 
     [pickarray insertObject:title atIndex:_selectedRow]; 
     [table reloadData]; 
} 

Toute idée comment montrer sélectionné le titre de la ligne sur le bouton?

+0

Pourriez-vous poster plus de contexte? Ce n'est pas clair quel est le problème et ce que vous essayez de faire. Pourquoi la deuxième instruction dans le corps de la méthode est-elle commentée? – mrueg

+0

Je ne sais pas si je sais ce que vous demandez. Aussi, veuillez formater votre "code" afin qu'il apparaisse mieux. Utilisez le bouton de code dans l'éditeur ou placez 4 espaces devant chaque ligne de code. – mahboudz

Répondre

0

Je ne vois pas où vous affectez la valeur de _selectedRow, ou où vous utilisez le paramètre "row" dans didSelectRow. Je ne pense pas que votre moteur soit connecté à vos roues.

+0

J'ai ajouté ci-dessous le code - (IBAction) btnpickclick: (id) expéditeur { UIButton btn = (UIButton *) expéditeur; _selectedRow = btn.tag; tool.hidden = FAUX; pick.hidden = FAUX; } je suis un peu confus dans le délégué didselectrow de pickerview que devrais-je écrire pour obtenir le titre sur le bouton sur la ligne pieckerview de sélection. –

0

Récupère les données de ligne sélectionnées et assigne-les au texte de ton bouton. Voici ce que j'ai fait dans mon code. Voir si cela aide


[breedButton setTitle:[pickerData objectAtIndex:[pickerView selectedRowInComponent:0]] forState:UIControlStateNormal]; 

Pour ce faire, dans votre méthode de délégué sélecteur


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

breedButton est mon bouton. pickerData est mon tableau de chaînes que je montre dans le sélecteur. pickerView est mon objet de vue sélecteur.

+0

en fait j'ai résolu mon problème concernant le titre du bouton. votre solution est pour le titre de 1 bouton mais j'ai créé 1 bouton dans cellforrowatindexpath dans le délégué de tableview, maintenant le problème est que je dois montrer le titre du bouton est "select" annuler de pickerview. Des idées? –

Questions connexes