我在想也许这样的事情可能会奏效:
for (UIView* b in self.view.subviews)
{
[b removeFromSuperview];
}
我想删除各种子视图。UIImages,按钮,文本字段等。
我在想也许这样的事情可能会奏效:
for (UIView* b in self.view.subviews)
{
[b removeFromSuperview];
}
我想删除各种子视图。UIImages,按钮,文本字段等。
[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()
}
view 是您要从中删除所有内容的视图。您只是通过执行 forEach 删除每个子视图
对于 Swift 4+。您可以扩展UIView
. 必要时调用它。
extension UIView {
func removeAllSubviews() {
subviews.forEach { $0.removeFromSuperview() }
}
}