Mon application comporte deux UIButtons qui se chevauchent. Le bouton du haut peut être désactivé parfois. Cependant, dans ce cas, tous les événements tactiles qu'il reçoit semblent être transmis à la vue sous-jacente, ce qui dans mon cas est l'autre bouton. Ce dont j'ai besoin, c'est que le bouton du haut intercepte toutes les touches et les empêche d'atteindre le bouton du bas, même en état désactivé (je serais heureux même si l'action désignée est invoquée dans l'état désactivé).Empêcher UIButton désactivé de propager des événements tactiles
Jusqu'à présent, j'ai essayé:
[topButton setUserInteractionEnabled:YES];
et
[topButton setExclusiveTouch:YES];
si le dernier cas est probablement indésirable, car je dois encore le bouton du bas répondre à des événements si elle est la première vue cliqué. De toute façon, aucun d'entre eux ne fonctionne.
Apparemment, ces méthodes ne sont pas appelées du tout lorsque le bouton est désactivé. –
Oui, c'est ce que je pensais (c'est pourquoi j'ai dit "une propriété"), c'est pourquoi vous devrez peut-être utiliser la seconde méthode, ou faire autre chose que désactiver le bouton comme simuler être désactivé en quelque sorte. La deuxième méthode sera probablement pénible car UIApplication (qui appelle sendEvent dans la fenêtre) est probablement ce qui ignore les UIControls désactivés. – Nimrod