Ich dachte, vielleicht könnte so etwas funktionieren:
for (UIView* b in self.view.subviews)
{
[b removeFromSuperview];
}
Ich möchte jede Art von Unteransicht entfernen. UIImages, Buttons, Textfelder etc.
iphone
objective-c
ios
uikit
dgund
quelle
quelle
b
würde sofort aus demsubviews
Array entfernt, was zu einer Mutation innerhalb einer schnellen Aufzählungsschleife führen würde, was verboten ist.copy
Spezifikations bedeutet , dass es eine Kopie macht , wenn festgelegt ; Über das Erhalten ist nichts angegeben. Es ist sehr wahrscheinlich, dass eine Kopie zurückgegeben wird, aber das ist nicht Teil der Eigenschaftsdefinition.Antworten:
Es ist identisch mit Ihrer Variante, aber etwas kürzer.
quelle
Identische Version in Swift.
quelle
Schnell:
quelle
Sie können so verwenden
Ansicht ist die Ansicht, aus der Sie alles entfernen möchten. Sie entfernen einfach jede Unteransicht, indem Sie forEach ausführen
quelle
Für Swift 4 + können Sie eine Erweiterung vornehmen
UIView
. Rufen Sie es an, wann immer es nötig ist.quelle