2010-09-02 4 views
0

J'ai rencontré un bogue intéressant où il apparaît que lorsque vous sélectionnez un UITableCell, il change toutes ses sous-vues en leur état haut-placé. Cela inclut mon accessoireView qui est un UIButton que je ne veux évidemment que surligner lorsque l'utilisateur appuie comme un bouton normal.Utilisation d'un UIButton comme vue d'accessoire pour un UITableCell

J'ai un ami qui est allé aussi loin sous-classer UIButton pour remplacer cela dans son application et géré manuellement l'état pour ce type de comportement, mais cela semble radical pour obtenir ce qui devrait être le comportement attendu. Donc, je me demande quelles autres solutions les gens ont mis au point pour ce problème.

Est-ce que quelqu'un d'autre a eu ce problème? Si oui, qu'avez-vous fait pour contourner le problème? Tous les échantillons de code ainsi que les idées sont les bienvenus!

+1

J'ai toujours utilisé un bouton personnalisé chaque fois que j'en voulais un dans UITableViewCell, car l'image par défaut n'est pas très agréable à regarder dans cette situation, donc ce n'est pas vraiment une étape drastique. –

+0

Je ne suis pas trop inquiet d'avoir à créer une classe personnalisée pour UIButton, car je risque de rencontrer des problèmes avec mon application à l'épreuve du futur si/quand Apple fait le changement que les sous-classes UIControl ne doivent pas être surlignées ou manque un cas d'utilisation qui provoquera d'autres comportements étranges avec l'état de surbrillance. Je vais aller de l'avant et donner un essai avec UIButtonTypeCustom mais d'après ma compréhension du bogue, il semblerait que cela montrerait simplement mon état surligné personnalisé quand je sélectionne la ligne à la place. Merci pour votre contribution Jesse – mcgregok

Répondre

0

J'ai fini par aller avec un bouton personnalisé sur ce comme Jesse Recommandé abd mis à la fois l'état haut-relief et normal à la même image. Cela semblait fonctionner assez bien pour ce que j'essayais de faire. Merci encore!

Questions connexes