2011-02-06 6 views
0

forループを使用して多くのuibuttonを動的に作成し、シーンに追加しました。今、それぞれのuibuttonにドラッグアンドドロップ機能を追加したいと思います。どうすればこれを達成できますか?プログラムで生成されたUIButtonsをドラッグアンドドロップします

ブレーカのようなゲームを言うと、パドルがあります。これは、プレイヤーによってドラッグアンドドロップされる唯一のオブジェクトです。パドル用のuibuttonオブジェクトを追加し、その中心をtouchesBeganおよびtouchesMovedに更新するだけです。

私の問題では、どのボタンがクリックされるのかわかりません。すべてのボタンにアクションをつけて、どのボタンがクリックされているかを追跡すると、最初にプレーヤーがボタンをクリックしたときにDRAGを実行することはできません。たぶん良い方法があります。

答えて

0

私が理解できない場合は私を修正しますが、各ボタンはクリックされている場合は「知っている」必要があります。 touchesMoved:withEvent:メソッドでは、タッチの位置に中心を設定することはできませんでしたか、または私が行方不明のものがありますか?

これを試してください。もちろん

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
    if (self.highlighted) { 
     UITouch *touch = [touches anyObject]; 
     self.center = CGPointMake(touch.x, touch.y); 
    } 
} 

は、このコードは、このような複数のタッチをうまく扱うないよう夫婦の問題を持っているが、私はそれは全体のポイントを取得します願っています。 現在タップされているボタンがどれだけあるかを知りたい場合は、UIControlのhighlightedプロパティを使用できます。希望が助けてくれる!

+0

私は、各ボタンがクリックされているかどうかを知る必要があることを知りませんでした。あなたはこれを達成するためのコードを書くことができますか?ありがとう。 – Huy

+0

答えを適切に編集しました。私はtouchesBeganと多くの仕事をしていない:など、それはあなたが望むほど具体的ではない可能性があります。 – Jumhyn

+0

動作しません。私は "構造体または共用体ではないものの中で強調表示された"メンバーの要求 "というエラーを受け取りました。 – Huy

関連する問題