2011-07-31 10 views
1

私はこの問題に対処するための最良の方法だか分からない:UIButtonカテゴリ/サブクラスのドラッグアンドドロップのiPad

私はいくつかのターゲットの上に移動することができるアプリで、いくつかのドラッグ可能なボタンがあります。ボタンが正しいターゲットの上にある場合、button1がtarget1の上にあるとしましょう。プレイヤー/ユーザーはポイントを取得します。私はこれに対処する最善の方法は、 "識別子"属性と "targetID"属性を持つDraggableクラスを持つTargetクラスを作成することだと思った。 Draggableオブジェクトが解放されると、その属性を比較することによって、それが正しいTargetオブジェクトの上にあるかどうかをチェックします。

簡単に聞こえるが、それはされていない。私は最初にDraggableをUIButtonのサブクラスにしようとしました。 UIButtonは[UIButton buttonWithType:]が呼び出されたときに別のクラスのインスタンスを返すので、これは良い考えではありません。 UIButtonTypeRoundedRectが返されます。私はカテゴリを使用することはできません。なぜなら、私は必要なのは余分な属性を持ち、カテゴリが属性をクラスに追加することができないことを知っているからです。メソッドだけです。コンポジションは、Draggableのコントローラーからのボタンアクションを「リッスン」する必要があるため、すべてが非常に複雑になります。しかし、私がよりスマートな選択肢を持っていなければ、この選択肢を選択します。

私は非常に明白な何かを監督しているかもしれないし、絶対に基本的なものを知らないかもしれない。その場合、ごめんなさい!私のiOSの知識はとても基本的です。

答えて

2

UIButtonは、種類がUIViewで、tagのプロパティがあり、必要なものを意味するものです。それはNSIntegerですが、これはあなたがしようとしているものに対しては有用であるはずです。

+0

もちろん!私はそれのthougthしていなかった。私はそれがこれに対処するエレガントな方法であることを知っていました。ありがとう! – strave

関連する問題