0

比較的単純なアプリケーションを実装する方法を設計しようとしています。

画面全体を覆う「正方形」のグリッドを作成したいと考えています。各正方形には、タッチ イベントに応答する機能があり、オン/オフの状態を持つ必要があります。たとえば、「オフ」の四角に触れてから、他の 10 個の四角を指でドラッグすると、すべての四角がオンになります。およびその逆。

150 個のボタンのグリッドを作成するだけのメモリ オーバーヘッドについてはわかりません。また、私が見る限り、ボタンには設定可能な状態がありません。また、UIView をサブクラス化し、UIResponder メソッドを実装することも考えていました。ボタンの配列の配列(またはUIViewのサブクラス)を作成する必要があるように感じますが、それが可能かどうかはわかりません。

UIResponder メソッドから touchevent の場所を取得することで、自分がどの広場にいるのかを知ることができると仮定しています。UIView をサブクラス化して独自のバージョンの myButton を作成し、on/off 状態プロパティと UIResponder メソッドを用意してから、myButton の配列を作成する必要がありますか?

4

2 に答える 2

1

現時点でこれを行うのはUISwitchだけですが、UISegmentedControlを使用した経験もあります。

それを超えて、コード内の通常のボタンまたは画像のスタイル/色を変更する必要があります。これは、多くのアプリケーション開発者が行うことであり、見た目と反応が希望どおりになります。

于 2009-04-15T19:30:10.057 に答える
0

UIViewのイベント処理機能がさらに必要な場合を除いて、単一のビューを使用して-touchesBegan:withEvent、-touchesMoved、および-touchesEndedメソッドを指定すると、最高のパフォーマンスが得られます。次に、カスタムのdrawRectメソッドを使用して、オンまたはオフの状態で個々の正方形を描画します。レイヤーを使用することもできますが、150ビューをレイアウトしようとすると問題が発生します。

于 2009-04-15T20:30:06.437 に答える