0

代替テキスト http://www.davidhomes.net/question.gif

私はiPhone開発にまったく慣れていません(自由時間で3か月未満)、2番目のアプリの開発を開始しています。

画像から、いくつかの UIView をサブビューとしてメインの UIViewController.view に追加しています。追加するビューの数は、ユーザーが選択できるデータによって異なります。

各ビューには、いくつかのコントロール、ラベル、UITextField、および Horizo​​ntal UIViewPicker が含まれています。

簡単にするために、ボタンが 2 つしかない (とてもラフな) モックアップをここに置きます。

GUIを改善したいので、画像のように、追加されたUIViewのトップサブビューとしてUIViewImageをオーバーレイしたいと思います。

問題は、イベントを通過してその下のオブジェクトに渡すことです。クリッピングを使用する方法があるとどこかで読んだことがありますが、実際の形状は楕円形のフレームよりも複雑です。

別の場所で、各境界線に 1 つずつ、4 つの UIImage を追加して、イベントがこの穴を通過できるようにすることを読んだことがあります。私には汚い解決策のように思えます(うまくいくと確信していますが)

これを行うための最良の方法についてのアイデアはありますか? オンラインのチュートリアルやレシピへのリンクはありますか?

あなたの助けに感謝します

ありがとうデビッド

4

1 に答える 1

1

プロトコルを見たことがありますか?ビューまたはオブジェクトのプロトコルを定義でき、そのオブジェクトのユーザー(たとえば、下のサブビュー)はプロトコルを実装し、オブジェクトの委任として自分自身を設定し、アクションが発生するとプロトコルを介して通知されます。だから例えば

アバブビューは、特定のジェスチャがそのビューによって送信されたときにメソッドを宣言するプロトコルを宣言するため、-(void)didMakeCircleGesture ...のようなプロパティとして、アンダービューにはデリゲートがあります。したがって、実際にジェスチャを送信するメソッドでは、最後に次のようなもの

[delegate didMakeCircleGesture];

次に、デリゲートは下のビューか何かであり、AboveViewで定義されたプロトコルに準拠し、その一部としてメソッドdidMakeCircleGestureを宣言する必要があります。その結果、AboveViewでサークルジェスチャを行うとプロトコルに準拠した下のビューにイベントが通知され、適切なアクションを実行できます

于 2009-07-22T20:51:07.857 に答える