que objective framework iphone objective-c ios uikit

iphone - objective - ¿Cuál es la mejor manera de eliminar todas las subvistas de ti self.view?



uikit wikipedia (4)

Estaba pensando que tal vez algo así podría funcionar:

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

Quiero eliminar todo tipo de subvista. UIImages, botones, campos de texto, etc.


Puedes usar así

//adding an object to the view view.addSubView(UIButton()) // you can remove any UIControls you have added with this code view.subviews.forEach { (item) in item.removeFromSuperview() }

view es la vista desde la que desea eliminar todo. solo está eliminando cada subvista haciendo por cada


Rápido:

extension UIView { func removeAllSubviews() { for subview in subviews { subview.removeFromSuperview() } } }


[self.view.subviews makeObjectsPerformSelector: @selector(removeFromSuperview)];

Es idéntico a tu variante, pero un poco más corto.


self.view.subviews.forEach({ $0.removeFromSuperview() })

Versión idéntica en Swift.