Jak mogę sprawdzić, czy subview został już dodany do widoku nadrzędnego? Jeśli nie został dodany, chcę go dodać. W przeciwnym razie chcę go usunąć.Sprawdź, czy podzbiór jest w widoku, używając Swift
6
A
Odpowiedz
24
Można użyć metody UIView
isDescendantOfView
:
if mySubview.isDescendantOfView(someParentView) {
someParentView.mySubview.removeFromSuperview()
} else {
someParentView.addSubview(mySubview)
}
Być może trzeba otoczyć wszystko z if mySubview != nil
zależności od implementacji.
6
Jest to znacznie bardziej przejrzysty sposób to zrobić:
if myView != nil { // Make sure the view exists
if self.view.subviews.contains(myView) {
self.myView.removeFromSuperview() // Remove it
} else {
// Do Nothing
}
}
}
+0
Nie jestem pewien, czy jest czystszy czy nie, ale wygląda na dobrą alternatywną metodę. – Suragch
Powiązane problemy
- 1. Swift, sprawdź, czy dana witryna jest osiągalna.
- 2. Sprawdź, czy katalog istnieje w ~/używając Perla
- 3. Sprawdź, czy łańcuch jest prawidłową podwójną wartością w Swift
- 4. Sprawdź, czy zmienna jest blokiem/funkcją/wywoływaną w Swift
- 5. Sprawdź, czy jQuery jest załadowany, nie używając zdarzenia gotowego dokumentu
- 6. Sprawdź, czy nieruchomość została ustawiona - używając Min
- 7. Sprawdź, czy plik istnieje, używając symbolu wieloznacznego:
- 8. Sprawdź, czy data jest przed bieżącą datą (Swift)
- 9. Ember.js: Sprawdź, czy element widoku jest wstawiony do DOM
- 10. iOS jak zrobić podzbiór przezroczystego widoku nieprzejrzystego?
- 11. Sprawdź, czy w poprawnej kolejce wysyłkowej w Swift 3
- 12. Sprawdź, czy jest fałsz.
- 13. Dlaczego jest `[` lepiej niż `podzbiór`?
- 14. Sprawdź, czy tablica zawiera część ciągu znaków w Swift?
- 15. Sprawdź typ obiektu ios swift
- 16. Sprawdź, czy ścieżka jest bezwzględna lub względna.
- 17. Sprawdź ustawienia użytkownika powiadomienia push w Swift
- 18. Sprawdź skracanie w UILabel - iOS, Swift
- 19. Sprawdź, czy wyrażenie jest funkcją?
- 20. Sprawdź, czy pakiet jest zainstalowany.
- 21. Sprawdź, czy UIWebView jest ładowany
- 22. Sprawdź, czy NSMutableDictionary jest pusty?
- 23. Sprawdź, czy dotknięte jest UIView?
- 24. Czy plik jest pusty sprawdź
- 25. Sprawdź, czy alert jest wyłączony.
- 26. Sprawdź, czy intencja jest dostępna.
- 27. Sprawdź, czy program jest zainstalowany
- 28. Sprawdź, czy element nadrzędny ma klasę, używając LESS
- 29. Sprawdź, czy obiekt jest pusty
- 30. Sprawdź, czy plik jest pusty
możliwe duplikat [Sprawdź, czy podrzędny jest w widoku] (http://stackoverflow.com/questions/7421298/check-if- a-subview-is-in-a-view) (co ważne, to pytanie ma już odpowiedź Swift ...) – nhgrif
W odpowiedzi na komentarz nhgrifa, odpowiedź, z którą się łączyłeś (pytanie typu Obj-C) była edytowana (przez ciebie) w dniu opublikowania komentarza. Czy miał Swift o 11:45, kiedy to pytanie zostało wysłane i czy była to odpowiednia odpowiedź? Jeśli tak, dlaczego go zaktualizowałeś? –