2010-10-02 5 views
5

Je me bats avec un bouton disclosue cellulaire ... D'abord, il a dit qu'il est dépréciée que j'utilisais:bouton de divulgation de vue cellulaire et la méthode relevent

-(UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath { 
return UITableViewCellAccessoryDetailDisclosureButton; 
} 

Alors j'ai fait remarquer cela et a ajouté la divulgation à la cellule dans le configureCell en utilisant:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
cell.editingAccessoryType = UITableViewCellAccessoryNone; 

Cependant maintenant mon bouton de divulgation ne fait rien. Que dois-je ajouter pour que le bouton de divulgation fonctionne? Tout mon googling est venu avec d'autres méthodes dépréciées. Toute aide ou pointeurs seraient très appréciés.

Répondre

14

Si vous voulez vraiment un bouton d'information de détail, assurez-vous que vous définissez votre type d'accessoire cellulaire à UITableViewCellAccessoryDetailDisclosureButton. (Votre exemple de code montre UITableViewCellAccessoryDisclosureIndicator.) Vous gérez les boutons de divulgation de détails dans la méthode tableView:accessoryButtonTappedForRowWithIndexPath: de votre délégué de table. Vous gérez la sélection de lignes (quelle que soit la vue des accessoires) dans la méthode tableView:didSelectRowAtIndexPath: de votre délégué.

+0

Voilà où je me trompais. J'avais l'icône qui n'était juste pas> dans un cercle, alors quand j'ai changé le type en UITableViewCellAccessoryDetailDisclosureButton cela a fonctionné comme avant. Merci pour l'information – Designer023

3

Utilisez cette méthode en vous vue tableau délégué

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath 
+0

j'utilisais déjà, se avère que parce que j'utilisait UITableViewCellAccessoryDisclosureIndicator pas UITableViewCellAccessoryDetailDisclosureButton qu'il ne l'appelait pas :) Tous fixés et fonctionnant maintenant. Merci pour l'aide – Designer023

0

Délégué Méthode à Swift 3,0

func tableView(_ tableView: UITableView, accessoryButtonTappedForRowWith indexPath: IndexPath) { 

} 

Mais pour utiliser ce délégué: vous pouvez utiliser l'une des deux suivantes Type d'accessoire:

cell.accessoryType = .detailDisclosureButton 
cell.accessoryType = .detailButton 
Questions connexes