J'ai ajouté un bouton à une cellule tableview, mais j'ai pose deux problèmes:UIButton ne fonctionne pas dans la cellule tableview
1) J'ai invoqué une méthode setTarget:action:
sur le bouton, mais le action:
méthode ne sera jamais appelé:
[playButton addTarget:self action:@selector(playButtonPressed:)
forControlEvents:UIControlEventTouchUpInside];
2) la cellule elle-même finit par se toucher sélectionné sur, invoquant didSelectRowAtIndexPath
, que je ne veux pas arriver.
J'ai vérifié que le bouton est au moins voir le toucher en définissant sa propriété showsTouchWhenHighlighted
et le voyant «briller» lorsqu'il est pressé. Mais pour une raison quelconque, il semble que l'événement tactile soit ensuite transmis à sa vue d'ensemble des cellules au lieu d'être manipulé par le bouton lui-même.
J'ai essayé d'ajouter le bouton directement au contentView
de la cellule, ainsi qu'à d'autres sous-vues de cellule, sans effet. J'ai également veillé à ce que les aperçus du bouton soient tous tactiles.
Des pensées?
Howard
Je ne pense pas que c'était le problème. J'aurais aimé fournir un peu plus de contexte de code lorsque j'ai posté la question, parce que je soupçonne que le problème est ailleurs. Depuis, j'ai ajouté des boutons aux cellules uitableview sans problème. Le code ci-dessus est identique à ce qui fonctionne pour moi maintenant. Les deux seules lignes supplémentaires que j'utilise actuellement sont: \t \t button.frame = CGRectMake (244, 5, 75, 40); [button setTitle: @ "Terminé!" forState: UIControlStateNormal]; – hkatz