Как проверить, добавлено ли подвью в родительское представление? Если он не был добавлен, я хочу добавить его. В противном случае я хочу удалить его.
Проверьте, есть ли подвью в представлении с помощью Swift
Ответ 1
Вы можете использовать метод UIView
isDescendantOfView
:
if mySubview.isDescendantOfView(someParentView) {
someParentView.mySubview.removeFromSuperview()
} else {
someParentView.addSubview(mySubview)
}
Вам также может потребоваться окружить все с помощью if mySubview != nil
в зависимости от вашей реализации.
Ответ 2
Это гораздо более чистый способ сделать это:
if myView != nil { // Make sure the view exists
if self.view.subviews.contains(myView) {
self.myView.removeFromSuperview() // Remove it
} else {
// Do Nothing
}
}
}
Ответ 3
for view in self.view.subviews {
if let subView = view as? YourNameView {
subView.removeFromSuperview()
break
}
}
Ответ 4
Здесь мы использовали два разных взгляда. Родительский вид - это вид, в котором мы ищем потомок и проверяем, добавлен ли родительский вид в родительский или нет.
if parentView.subviews.contains(descendantView) {
// descendant view added to the parent view.
}else{
// descendant view not added to the parent view.
}