我正在尝试删除我添加到我的 View 中的所有 subview ,因此我实现了一个循环以使用以下内容迭代 subview :
for subview in view.subviews {
println(subview)
//subview.removeFromSuperview()
}
我通过向我的 View 添加一个 UILabel 来测试它,然后运行这段代码。输出包含我的 UILabel 和 _UILayoutGuide。那么,我的问题是如何确定一个 subview 是我添加的还是系统添加的?
最佳答案
如果您只想防止循环删除 _UILayoutGuide
(属于 UILayoutSupport
类),试试这个:
for subview in self.view.subviews {
if !(subview is UILayoutSupport) {
print(subview)
subview.removeFromSuperview()
}
}
一般来说,如果你想阻止删除 _UILayoutGuide
以外的 View ,并且你知道要从 UIView 中删除的 subview 的特定类型,你可以将您删除的 subview 限制为这些类型,例如:
for subview in view.subviews {
if subview is ULabel {
println(subview)
subview.removeFromSuperview()
}
}
关于ios - 如何从我的 UIView 中仅删除用户添加的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27237457/