3

UIButtonタッチした後、選択状態のままにしたいのですが。TouchUpInsideイベント中に選択した状態を設定するコードを追加しました。ただし、すばやくタップすると、状態間にわずかな「点滅」が発生します。UImageViewを使用してこれを行うためのいくつかの戦略UITapGestureRecognizeがありますが、より簡単な方法が必要です。

4

5 に答える 5

4

フラッシュの理由は、TouchUpInsideが遅すぎるためです。定義上、ユーザーの指はすでに上がっています。おそらく、代わりに(またはさらに)TouchDownInsideのアクションイベントを実装することを検討する必要があります。

もう1つの可能性は、1つのセグメントでUISegmentedControlを使用し、momentaryNOに設定することです。

于 2013-02-23T04:51:20.200 に答える
2

これは私の頭のすぐ上にあります

UIBUttonには、通常、強調表示、選択、無効の4つの状態があります。気付いている「点滅」は、強調表示された状態が原因だと思います。ボタンをタップすると、おそらくボタンが強調表示された状態になり、「点滅」します。

強調表示された状態のプロパティを、選択した状態と同じように設定してみてください。

于 2013-02-23T05:10:03.083 に答える
1

これを試して、

[button sendActionsForControlEvents:UIControlEventTouchUpInside];
[button setSelected:YES];
于 2013-02-23T04:57:41.190 に答える
1

UIViewを作成すると、ボタンのようになります。ボタンをUIViewのサブビューとして追加し、ボタンのタイトル(UILabel)を同じUIViewのサブビューとして追加するだけです。ボタンを押したら、UIViewとUILabelのプロパティを変更して、押されたボタンのように見せ、これらのプロパティを再度変更するまでビューが押された状態のままになるようにします。

お役に立てれば。

于 2013-02-23T07:30:20.077 に答える
0

素晴らしい答えをありがとう。UIButtonを処理するのではなく、UIImageViewを使用して、タップジェスチャに基づいてアニメーションブロックで強調表示された状態を設定することになりました。UIButtonジェスチャ処理を説明するよりも、押された状態を実現する方がはるかに簡単になりました。

于 2013-02-24T17:39:49.460 に答える