質問

ん初めて進出したココアタッチプログラミング(一つの私の最初の入りココア)に書簡単なゲームはiPhoneが、この質問はココアをタッチします。

のメインUIでさらにストリップには同一の作ボタンのみが異なる色)配列の横の画面になります。が行うボタンに必要な習慣で描かれた登場です。各対応タッチイベントも同じように発動その他のイベント申し上げます。※

いを定義するカスタムビューの一部をコントロールの行動だけではな気標準ボタンの部分について知りココアプログラミング

  • う定義の設定メインビューの配列subviewsの描画そのものは、引数をタッチイベント? 各ボタンをなすべき標準のようなものを示し押下状態をタッチ時などです。ある既存のコンテナのビューをこのようなシナリオ?

  • やばいいかを主なビューを描いての全体ストリップ検出するタッチ生じるか そうな気がひどく工学的アプローチ-Iなグヒットを試験す。


編集を明らかに問題

役に立ちましたか?

解決

より軽量なアプローチは、あなたのUIViewの層にサブレイヤを追加することです。 hitTestを使用してください:あなたはそれを受信する必要があるのCALayerインスタンスにUIViewの上であなたが受け取るタッチを派遣する。

あなたは(touchesBeganなど)UIResponder行動の多くを必要とする場合は、

、あなたはそれはあなたがオブジェクトに直接イベントを処理することが可能になるよう代わりにサブレイヤのサブビューと一緒に行きたいのではなく、中央応答者からそれらを派遣する必要があります(あなたのメインのUIView)。

このため、基本的なビットは、あなたのメインのUIViewで知られている(扱わ)する必要がありますどのくらいのあなたの個々のボタンに関連付けられた動作をするだけかもしれません。それは中央の場所から制御すべてを持っていることは理にかなっている場合は、UIViewの中ですべてのロジックを入れて、ちょうど軽量の表示のためのサブレイヤを使用することができます。それは、ボタンそのものに行動を置くために、より理にかなっている場合、彼らはUIRespondersと、そのようなサブクラスのUIViewとしてもshoudlとあなたのメインビューのサブビューとして追加されます。

他のヒント

あなたはサブビューの配列を使用する必要があります - その方法は、それぞれの「ボタン」クラスが自身を描画する方法を知っているし、そのスーパービュー(あなたの規定の「メインビュー」)は、彼らが行く必要があるのボタンを配置します。

そしてNDA上の第二:ちょうどiPhoneについて話

あなたは、ボタンをたくさん持っているし、彼らと空想の事をしたい場合は、

は、私は<のhref = "http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Reference/CALayer_class/Introductionを使用することをお勧めします/Introduction.html」のrel = "nofollowをnoreferrer">層がに。あなたのUIViewのタッチを持っていた層通訳を処理する(ヒットテスト)と  適切に対応。あなたがやっているすべてのの様々な効果やアニメーションとボタンのの全体の束を管理している場合、これは容易なルートかもしれません。

悪いエンジニアリングに関しては、すべてではありません。あなたは関連するガイドを見てみた場合は、コアアニメーションとレイヤが表示されます(それは比較的簡単ですが)ヒットテストを必要としませんが、それはUIViewのは、すべての描画を行うよりもはるかにきれいで、多くのサブビューよりも効率的です。それはうまく右これら二つのアプローチの間で滑っています。

全開示:私はどのように最大限に活用このようなものを中心に自分自身を私の頭をラップするんだけど、もっと複雑なインタラクティブコントロールの

あなたは、Interface Builderでビューをレイアウトすることができます。単にあなたのビューコントローラのビューでUIButtonsの束をドラッグします。

イベントに応答するには、あなたのビューコントローラでIBActionを定義し、それにボタンを接続します。

これは、すべての非常に基本的です。私は本当にあなたが、少なくともAppleは、オンライン持つiPhoneプログラミング入門を歩くことを示唆しています。それはあなたのiPhoneとInterface Builderの基本をお教えします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top