CGRectIntersectsRectで指定する方法
for文でランダムな位置に作成した複数のImageViewが重なった場合、重なったImageViewだけを削除したいのですが、tagをつけたり配列に格納したりしてみましたが、うまく動作しません
どうすればよいかわからないので質問させていただきました。
-(void)displayImages
{
int total = 5;
for (int i=0; i<total; i++) {
UIImageView *holeImageView;
int randOx = 10+arc4random_uniform(240);
int randOy = 60+arc4random_uniform(430);
NSInteger tag = i;
holeImageView = [UIImageView new];
holeImageView.frame = CGRectMake(randOx,randOy,40,40);
holeImageView.image = [UIImage imageNamed:@"startButton.png"];
[self.view addSubview:holeImageView];
[holeImageView setTag:tag];
[ObjectArray addObject:holeImageView];
if (CGRectIntersectsRect (holeImageView.frame,holeImageView.frame)){
NSLog(@"%dぶつかりました",i);
[ObjectArray removeObject:holeImageView];
}
}
}
追記させていただきます
if (CGRectIntersectsRect (ObjectArray[i].frame,holeImageView.frame)){
if (CGRectIntersectsRect (holeImageView[i].frame,holeImageView.frame)){
など他にも思いつくものは試しましたがエラー出ましたので、こちらにどのように記述すれば良いかお聞きしたかったのですが、質問文の書き方が悪く、大変申し訳ないです。