我想删除我的UIViewController的所有子视图,除了两个名为toolBarOne
和toolBarTwo
的子视图。我不知道我应该从哪里开始。你的建议是什么?谢谢。
答案 0 :(得分:3)
我不会像索尼建议的那样做,原因有两个。
通过这样做,您将在使用相同的子视图数组进行枚举时删除子视图。
您可能还会移除与您未明确添加到视图中的与布局相关的子视图,即UILayoutGuide
。
相反,我建议迭代一个包含原始self.view.subviews
数组副本的单独数组,并排除UILayoutSupport
类型的所有子视图:
var subviews = self.view.subviews
for subview in subviews as [UIView] {
if subview != toolBarOne && subview != toolBarTwo && !(subview is UILayoutSupport) {
subview.removeFromSuperview()
}
}
答案 1 :(得分:0)
for subView in view.subviews as [UIView] {
if subView != toolBarOne && subView != toolBarTwo {
subView.removeFromSuperview()
}
}