从您的self.view中删除所有子视图的最佳方法是什么?

我在想也许这样的事情可能会起作用:

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

我想删除每种子视图。 UIImages,button,文本框等

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

它与你的变体是一样的,但略短。

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

Swift中的相同版本。

迅速:

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

你可以这样使用

 //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() } 

视图是您想要从中删除所有内容的视图。 你只是通过做forEach去除每个子视图