从您的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去除每个子视图