Ios 使用Swift检查子视图是否位于视图中
如何测试子视图是否已添加到父视图?如果还没有添加,我想添加它。否则,我要删除它。您可以使用Ios 使用Swift检查子视图是否位于视图中,ios,swift,uiview,subview,Ios,Swift,Uiview,Subview,如何测试子视图是否已添加到父视图?如果还没有添加,我想添加它。否则,我要删除它。您可以使用UIView方法: 如果mySubview!=nil取决于您的实现。这是一种更干净的方法: if myView != nil { // Make sure the view exists if self.view.subviews.contains(myView) { self.myView.removeFromSuperview() // Remove it
UIView
方法:
如果mySubview!=nil取决于您的实现。这是一种更干净的方法:
if myView != nil { // Make sure the view exists
if self.view.subviews.contains(myView) {
self.myView.removeFromSuperview() // Remove it
} else {
// Do Nothing
}
}
}
这里我们使用了两种不同的视图。父视图是在其中搜索子视图并检查是否添加到父视图的视图
if parentView.subviews.contains(descendantView) {
// descendant view added to the parent view.
}else{
// descendant view not added to the parent view.
}
可能重复(重要的是,该问题已经有了快速的答案…)为了回应nhgrif的评论,您链接的答案(一个Obj-C问题)在您发布评论的同一天被(您)编辑。在上午11:45发布此问题时,是否有Swift?这是一个充分的答案吗?如果是这样,为什么要更新它?我不确定它是否更干净,但它看起来是一个很好的替代方法。这实际上删除了该类型视图的第一个视图,但不是您可能想要的
for view in self.view.subviews {
if let subView = view as? YourNameView {
subView.removeFromSuperview()
break
}
}
if parentView.subviews.contains(descendantView) {
// descendant view added to the parent view.
}else{
// descendant view not added to the parent view.
}