2010-05-05 3 views
1

j'ai un UITableView, dans chaque cellule i ont 2 boutons personnalisés, ce que je veux faire est withing la méthode didSelectRowAtIndexPath je veux faire une instruction if sur laquelle le bouton a été touchéinstruction if sur UIButton dans les didSelectRowAtIndexPath

si Je diviserais effectivement une cellule en 2

mais je n'ai aucune idée de comment je pourrais écrire les instructions if.

toute aide serait grandement accueilli

Merci

Répondre

1

Merci à tous pour votre aide, mais j'ai trouvé la solution que je recherchais. si elle est ici

dans votre méthode cellForRowAtIndexPath

[[cell team1Button] addTarget:self 
         action:@selector(shield1Touched:) 
      forControlEvents:UIControlEventTouchUpInside]; 

    [[cell team2Button] addTarget:self 
          action:@selector(shield2Touched:) 
       forControlEvents:UIControlEventTouchUpInside]; 

} 
[[cell team1Button] setTag:[indexPath row]]; 
[[cell team2Button] setTag:[indexPath row]]; 

mettre la balise ainsi, lorsque vous sélectionnez le bouton dans votre cellule personnalisée, l'application sait quelle ligne a été sélectionnée.

donc ensuite sur votre bouton méthode pressée

- (IBAction)shield1Touched:(id)sender;{ 
WorldCupAppDelegate *appDelegate = [UIApplication sharedApplication].delegate; 

    int rowOfButton = [sender tag]; 
ScoreDetails *scoreDetail = [appDelegate.liveMatch objectAtIndex:rowOfButton]; 

alors vous pouvez effectuer toutes les actions dont vous avez besoin en fonction du bouton a été touché la cellule sur laquelle

espoir que cela aide quelqu'un d'autre

source pour l'information était here

1

Je pense que l'exemple d'Apple app « accessoire » fait exactement ce que vous essayez de faire. Vérifiez la MyTableViewController.m

+0

hmm, pas vraiment, parce que c'est l'image accessoire, ce qui im ​​regardant pour est quelque chose comme si (UIButton1 reçu touche) { si (UIButton2 touché touche) { si cela aide un –

+0

Mais si vous cherchez une confirmation d'une touche dans l'UIButton, il suffit de mettre en place une action comme décrit ci-dessus. Qu'est-ce que j'oublie ici? – gnasher

1

Mettre en place les boutons dans une cellule personnalisée avec leur - (void) addTarget: (id) Action cible: (SEL) Action forControlEvents: (UIControlEvents) ControlEvents ensemble à la méthode appropriée.