这是我第一次发帖,首先你要了解两件事,我非常喜欢Objective-c而且英语不是我的母语,所以如果你不太懂,请问:)
好的,我正在为我的孩子制作一个iPad应用程序,所以它包含随机声音和每个点击的随机图像。但经过一些点击之后,屏幕上充满了图像,所以我想知道如何在X点击后“清理”屏幕。
这里有一些代码:
- (void)oneFingerOneTap{
int randomNumber = arc4random() % 9 + 1;
int randX = arc4random() % 768 + 1;
int randY = arc4random() % 1004 + 1;
NSString *fileName = @"Sound";
NSString *ext = @".caf";
NSString *randString = [NSString stringWithFormat:@"%d", randomNumber];
NSString *completeSound = [NSString stringWithFormat:@"/%@%@%@", fileName, randString, ext];
NSString *path = [NSString stringWithFormat:@"%@%@", [[NSBundle mainBundle] resourcePath], completeSound];
SystemSoundID soundID;
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)filePath, &soundID);
AudioServicesPlaySystemSound(soundID);
self.imgView = [[UIImageView alloc] initWithFrame:CGRectMake(randX, randY, 60, 60)];
self.imgView.image = [UIImage imageNamed:@"background.jpg"];
[self.view addSubview:self.imgView];
NSLog(@" %d", randX);
count++;
}
所以我创建一个全局int(count)来了解已经完成了多少次点击。
PS。我知道当时的图像不是随机的,现在没关系。
同样,如何删除之前完成的所有图像?
我尝试使用self.imgView.hidden = TRUE;
,但它只隐藏了最后一张图片。
答案 0 :(得分:0)
试试这段代码
for (UIView *subVw in self.view.subviews) {
if ([subVw isKindOfClass:[UIImageView class]]) {
[subVw removeFromSuperview];
}
}