25 個の UIControls と 10 個の UIImageView があります。次のようになります。
現在、画像は UIImageViews で、グリッドは UIControls です。私が望むのは、ユーザーが画像をタップしてから任意のグリッド (もちろん空白のグリッド) をタップすると、UIImageView が現在のスーパービューから削除され、タップされた空白のグリッドのサブビューとして追加されることです。たとえば、ユーザーが最初に A1 グリッドをタップしてから B2 グリッドをタップすると、次の 2 つのアクションが発生します。
- A1 グリッドの UIImageView が削除され、
- B2グリッドにUIImageViewを追加
つまり、ユーザーが画像の A1 グリッドをタップしてから B2 グリッドをタップすると、出力ウィンドウは次のようになります。
編集
そのため、一度に 2 つのUIControl を追跡する必要があり
ます。
次に、最初の UIControl から UIImageView を削除し、2 番目の UIControl に追加します。UIControls に次のようなタグを付けてみました。
//....
A1.tag = 1;
//...
-(void)a1ViewTapped:(id)sender
{
int i = A1.tag;
[self switch:i];
}
//...
-(void)switch:(int)_tag
{
//....
UIView *view = (UIView*)[self.view viewWithTag:_tag];
[view removeFromSuperview];
//...
}
これにより、1 つの UIControl を追跡できますが、そのうちの 2 つを追跡する必要があります。どうすればこれを達成できますか、誰か助けてもらえますか?