Dans ma vue de table, j'ai le nombre de lignes qui ont un type d'accessoire de bouton de détail de divulgation et lorsque j'appuie sur la ligne ou l'accessoire, une nouvelle vue est transmise à un contrôleur de navigation. J'appelle le deselectRowAtIndexPath à la fin de la fonction didSelectRowAtIndexPath.AccessoryDetailDisclosureButton ne désélectionne pas après avoir appelé deselectRowAtIndexPath
Si j'appuie sur le bouton des accessoires, je passe à une nouvelle vue, mais elle reste en surbrillance lorsque je reviens à cette vue (pop). La ligne est désélectionnée comme prévu mais pas ceci. Des pensées sur la façon de «unhighlight» il?
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
...
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
[tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionTop];
[self tableView:tableView didSelectRowAtIndexPath:indexPath];
}
Cela a fonctionné pour désélectionner l'accessoire, mais la ligne entière ne s'affiche pas lorsque j'appuie sur le bouton accessoire. Y'a-t-il une quelconque façon de réussir cela? – Rob
Vous avez raison, la ligne n'est pas en surbrillance. Cependant, le Apple HIG n'impose pas de mettre en évidence toute la ligne lorsque vous appuyez sur le bouton de divulgation. Toutes mes applications fonctionnent comme décrit, y compris celles disponibles sur l'AppStore. –
Assez juste, merci pour l'aide. – Rob