私はすでにしばらくこれに苦労しており、いくつかの助けが役に立ちます。
/状態UIButton
で始まる があると想像してください。ユーザーがそれをタップすると、/状態が変化します。highlighted
selected
highlighted
selected
私はこれを実装しましたが、うまくいきます。たとえば、ユーザーがボタン領域内をタップし、指を離さず、マウスをボタン領域の外に移動すると、問題が発生します。この時点で、通常、ボタンは失われますhighlighted
/selected
状態になります。UIControlEventTouchUpOutside
とにかく、ボタンをオーバーライドして以前の状態を維持することで、この問題も解決しました...
しかし、ユーザーがボタンをタップし、指を離さず、指を右に移動すると、上記と同様に別の問題が発生します(水平に移動すると、たとえばダイアログが右に移動します) 、その後、「選択/強調表示」状態が再び失われます....
私は再びUIControlEventTouchUpOutside
、選択した状態を削除するために呼び出されているものと似ているが異なるジェスチャを信じています...
ここに何が入っているか知っていますか?アドバイスをいただければ幸いです。
ps。インターフェイスビルダーを使用して、通常/選択状態に異なる画像を設定するだけで、すべての問題を修正しました。