2010-06-17 3 views
2

J'ai une vue qui doit être présentée en mode paysage et portrait. La transition entre différentes orientations est effectuée en repositionnant et en redimensionnant les sous-vues. Une des sous-vues est un bouton (plaine UIButton avec un fond d'image). Lorsque l'interface passe en mode paysage, le bouton commence à mal se comporter - il ne peut être tapé que sur sa partie gauche, la partie droite ne répond pas. Lorsque je bouge le bouton un peu vers la gauche, la partie tappable se développe. Le bouton ne doit pas être masqué par une autre vue, il est clairement visible. Lorsque je remplace la méthode hitTest:withEvent: dans la vue parente, je vois que les taps dans la partie "engourdie" du bouton résultent en nil retourné. Je pense avoir déjà vu ce comportement auparavant, mais malheureusement j'ai oublié la source du problème :) Une aide quelconque?Impossible d'appuyer sur le bouton après la rotation de l'interface

Répondre

4

Ah oui, j'ai oublié de redimensionner la vue elle-même. Ainsi, le bouton se trouvait à la limite de la vue et, même s'il n'était pas coupé, la partie située à l'extérieur du cadre de vue n'était pas prise en compte pour les tests de réussite.

+0

Pourriez-vous ajouter plus de détails? Voulez-vous dire que la vue englobante du bouton n'a pas changé avec la rotation? – Danny

+0

Oui, exactement cela, @Danny. – zoul

+0

Merci d'avoir répondu. J'ai lutté avec un bouton dans lequel je ré-assigner le cadre du bouton à un CGRect. Le CGRect est défini à l'endroit où je veux que le bouton soit, mais il n'interagit pas avec les taps. Si vous avez trouvé des détails qui pourraient aider à déchiffrer les propriétés qui doivent être définies pour correspondre à l'interactivité des boutons, ce serait très apprécié. Merci! – Danny

Questions connexes