88

私はおそらくこのようなものがうまくいくかもしれないと考えていました:

for (UIView* b in self.view.subviews)
{
   [b removeFromSuperview];
}

あらゆる種類のサブビューを削除したい。UIImage、ボタン、テキストフィールドなど

4

5 に答える 5

251
[self.view.subviews makeObjectsPerformSelector: @selector(removeFromSuperview)];

バリアントと同じですが、少し短くなっています。

于 2012-08-09T17:59:39.720 に答える
23
self.view.subviews.forEach({ $0.removeFromSuperview() })

Swift の同一バージョン。

于 2016-02-22T02:52:48.960 に答える
7

迅速:

extension UIView {
    func removeAllSubviews() {
        for subview in subviews {
            subview.removeFromSuperview()
        }
    }
}
于 2015-09-08T16:47:48.627 に答える