What is the best way to remove all subviews from you self.view?

Viewed 46172

I was thinking maybe something like this might work:

for (UIView* b in self.view.subviews)
{
   [b removeFromSuperview];
}

I want to remove every kind of subview. UIImages, Buttons, Textfields etc.

5 Answers

For Swift 4+.You can make a extension to UIView. Call it whenever necessary.

extension UIView {
    func removeAllSubviews() {
        subviews.forEach { $0.removeFromSuperview() }
    }
}
Related