Что хотел сказать Грег, так это:
for (UIView *subview in self.view.subviews) {
[subview removeFromSuperview];
}
Это может работать не так, как вы ожидаете, поскольку Objective C не нравится, когда вы модифицируете массив, когда вы итерируете его в цикле for. Более безопасный выбор будет следующим:
while ([self.view.subviews count] > 0) {
[[self.view.subviews lastObject] removeFromSuperview];
}