J'ai regardé une tonne de posts sur des choses similaires, mais aucun d'entre eux tout à fait correspondre ou résoudre ce problème. Depuis iOS 7, chaque fois que j'ajoute un UIButton à un UITableViewCell ou même à la footerview il fonctionne "fine", ce qui signifie qu'il reçoit de l'action cible, mais il ne veut pas montrer le peu de mettre en évidence que, normalement, il arrive que vous appuyez sur une UIButton. Il permet de l'INTERFACE utilisateur look funky ne pas montrer le bouton de réagir au toucher.
Je suis sûr que cela compte comme un bug dans iOS7, mais quelqu'un a trouvé une solution ou pourrait m'aider à en trouver un :)
Edit: J'ai oublié de mentionner qu'il va mettre en évidence si j'ai longtemps sur le bouton, mais pas un mouvement rapide, comme c'est si juste ajouté un affichage standard.
Code:
Création du bouton:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.titleLabel.font = [UIFont systemFontOfSize:14];
button.titleLabel.textColor = [UIColor blueColor];
[button setTitle:@"Testing" forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonPressed:) forControlEvents: UIControlEventTouchDown];
button.frame = CGRectMake(0, 0, self.view.frame.size.width/2, 40);
Les choses que j'ai Testé:
//Suppression de modules de reconnaissance de geste sur UITableView dans le cas où ils étaient.
for (UIGestureRecognizer *recognizer in self.tableView.gestureRecognizers) {
recognizer.enabled = NO;
}
//Suppression des gestes de la Cellule
for (UIGestureRecognizer *recognizer in self.contentView.gestureRecognizers) {
recognizer.enabled = NO;
}
//Cela montre le peu de lumière tactile, mais ce n'est pas le look désiré
button.showsTouchWhenHighlighted = YES;