2015-06-19 3 views
6

Как проверить, добавлено ли подвью в родительское представление? Если он не был добавлен, я хочу добавить его. В противном случае я хочу удалить его.Проверьте, есть ли подвью в представлении с помощью Swift

+0

возможно дубликат [Проверить подвид находится в представлении] (http://stackoverflow.com/questions/7421298/check-if- a-subview-is-in-a-view) (что важно, этот вопрос уже имеет ответ Swift ...) – nhgrif

+1

В ответ на комментарий nhgrif ответ, который вы связали (вопрос Obj-C), был отредактирован (ВАМИ) в тот же день вы отправили комментарий. Был ли он Свифт в 11:45, когда этот вопрос был опубликован и был ли он адекватным ответом? Если да, то почему вы его обновили? –

ответ

24

Вы можете использовать метод UIViewisDescendantOfView:

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

 Смежные вопросы

  • Нет связанных вопросов^_^