Ответ 1
[self.view.subviews makeObjectsPerformSelector: @selector(removeFromSuperview)];
Он идентичен вашему варианту, но немного короче.
Я думал, что может быть что-то вроде этого:
for (UIView* b in self.view.subviews)
{
[b removeFromSuperview];
}
Я хочу удалить каждый вид subview. UIImages, Кнопки, Текстовые поля и т.д.
[self.view.subviews makeObjectsPerformSelector: @selector(removeFromSuperview)];
Он идентичен вашему варианту, но немного короче.
self.view.subviews.forEach({ $0.removeFromSuperview() })
Идентичная версия в Swift.
Swift:
extension UIView {
func removeAllSubviews() {
for subview in subviews {
subview.removeFromSuperview()
}
}
}
Вы можете использовать это как
//adding an object to the view
view.addSubView(UIButton())
// you can remove any UIControls you have added with this code
view.subviews.forEach { (item) in
item.removeFromSuperview()
}
view - это представление, из которого вы хотите удалить все. вы просто удаляете каждый элемент subview, выполняя forEach