ベストは何ですか?メモリ/パフォーマンス取引の質問?
約400個のボタン(ボタンには4つの状態があります)を処理します。 ベストは何ですか?各ボタンの4つの異なるOPAQUE画像を保存/表示するか、2つのALPHA MASKED pngの状態をアサンプルしますか?
私は質問が少し霧であることを知っています。 OPAQUE画像以上、またはALPHA MASKED未満ですか?
経験がある場合は、お気軽にお申し込みください。
ベストは何ですか?メモリ/パフォーマンス取引の質問?
約400個のボタン(ボタンには4つの状態があります)を処理します。 ベストは何ですか?各ボタンの4つの異なるOPAQUE画像を保存/表示するか、2つのALPHA MASKED pngの状態をアサンプルしますか?
私は質問が少し霧であることを知っています。 OPAQUE画像以上、またはALPHA MASKED未満ですか?
経験がある場合は、お気軽にお申し込みください。
私が前に述べたように、これは良い考えではないと思います(UXの観点から)。しかし、これをやりたい場合は、パフォーマンスを向上させるために少しハックする必要があります。
代わりに400(あるいは400 * 4 = 1600
)(基本的にはこの場合には同じだろうかUIButton
S、)UIView
Sを使用しての、あなたは1に固執すべきではUIView
をサブクラス化し、より速く、キャッシュされた描画のためのdrawRect:
メソッドをオーバーライドします。
タッチイベントを追跡するために、touchesBegan ...
、touchesMoved ...
などのイベントを無効にすることができます。ユーザーが1つの 'ボタン'を押すと(実際には1つのビューが表示されますが、どのボタンで表示するかを測定できます)、int
を1つ更新し、setNeedsDisplay
を呼び出して 'ボタン'を再描画します。
答えに感謝します。もちろん、12×3のボタンだけが一度にロードされます。残りはスクロールイベントに遅延ロードされます。私はカスタムステートアクセサでdrawRectメソッドを実装していますが、十分に速くなることを願っています。 initでCGlayersを作成して、状態の変化をCGlayersで再描画するつもりです。あなたのアドバイスをもう一度おねがいします – Geri
12個のボタンを作成し、必要に応じてラベルを変更することをお勧めします。 –
あなたは実際に同時に400個のボタンを表示しようとしていますか?それはすべてのボタンを最大にします。 'sqrt((320 * 480)/ 400)= 20x20'である。それは本当に意味があるとは思わないでしょうか? – elslooo
:)ページ番号付きスクロール。一度に表示できるボタンは12個だけです。 – Geri