Предполагая, что единственными подпредставлениями, которые были добавлены к вашему представлению, являются clouds
,
- (IBAction)clearClouds:(id)sender{
[[[self view] subviews] makeObjectsPerformSelector: @selector(removeFromSuperview)];
}
Облако всегда начинается в верхнем левом углу, поскольку эта строка: cloud.frame = CGRectMake(0, 0, 300, 300);
сбрасывает свое происхождение до 0, 0.Переместите cloud.center = CGPointMake(random() % 250, random() % 400);
ниже линии, где вы устанавливаете рамку облака, и все должно быть готово.