2009-11-12 10 views
9

私のアプリでは、オン/オフ状態のグラフィックが異なる複数のUIButtonがあります。小さい方のボタンはすべてちらつきなく正しく表示されますが、最大75%の時間を押した場合、大きなボタン(320x90px)はボタン上で黒色を点滅します。これはiPhone上であり、Simulatorではありません。私はIBのUIButtonのDefault、Highlighted、Selected、Disabledの状態イメージの異なる組み合わせを設定しましたが、このフリッカーを取り除くことはできません。私が試すことができる何か他にありますか?UIButtonが押されたときにちらつきが発生する

+0

押されたイベント中にボタンを変更していませんか? – Josh

+0

このUIButtonを押すと、バックグラウンドスレッドで処理中にボタンを無効にする関数が呼び出されます。これは他のUIButtonとは異なり、おそらく問題を引き起こしていますが、フリッカーを防ぐためにUIButton状態の画像を組み合わせることはできません。 – Ian

+0

すべてのボタンや背景のスレッドの他のインターフェイス要素を無効にしたり、それにすべてのボタンでアクセスしたりしないように注意してください。それが問題の原因になっている可能性があります。インターフェイスに関係しないバックグラウンドスレッドの処理のみを保持します。 – luvieere

答えて

25

あなたのハンドラでbutton.selected = !button.selectedのようなことをしているのであれば、私もこの問題を抱えていました。 私はbutton.highlighted = NOを呼び出して固定しました。

+0

これは私のために働いた。強調表示された状態と選択された状態が同じ画像(通常の画像とは異なる)を使用するボタンがあり、強調表示された状態から選択された状態に切り替わるときにちらつきがありました。 –

+0

Davidの権利は、 'button.selected = NO '(または' button.selected =!button.selected')を呼び出す直前に 'button.highlighted = NO'を呼び出すことで問題が解決されました。 –

+0

同じ...完璧:) – VTS12

関連する問題