Как проверить, добавлено ли подвью в родительское представление? Если он не был добавлен, я хочу добавить его. В противном случае я хочу удалить его.Проверьте, есть ли подвью в представлении с помощью Swift
6
A
ответ
24
Вы можете использовать метод UIView
isDescendantOfView
:
if mySubview.isDescendantOfView(someParentView) {
someParentView.mySubview.removeFromSuperview()
} else {
someParentView.addSubview(mySubview)
}
Вам также может понадобиться, чтобы окружить все с if mySubview != nil
в зависимости от реализации.
6
Это намного чище способ сделать это:
if myView != nil { // Make sure the view exists
if self.view.subviews.contains(myView) {
self.myView.removeFromSuperview() // Remove it
} else {
// Do Nothing
}
}
}
+0
Я не уверен, что это чище или нет, но это похоже на хороший альтернативный метод. – Suragch
возможно дубликат [Проверить подвид находится в представлении] (http://stackoverflow.com/questions/7421298/check-if- a-subview-is-in-a-view) (что важно, этот вопрос уже имеет ответ Swift ...) – nhgrif
В ответ на комментарий nhgrif ответ, который вы связали (вопрос Obj-C), был отредактирован (ВАМИ) в тот же день вы отправили комментарий. Был ли он Свифт в 11:45, когда этот вопрос был опубликован и был ли он адекватным ответом? Если да, то почему вы его обновили? –