Ответ 1
for (UIView *subview in scrollView.subviews) {
[subview removeFromSuperview];
}
У меня есть приложение iPhone, которое использует таймер и на каждом временном интервале создает некоторые элементы управления UILabel
и добавляет их в UIScrollView
.
Что я хочу сделать, это очистить UIScrollView
каждый временной интервал, прежде чем помещать элементы управления UILabel
в UIScrollView
.
Как я могу очистить содержимое UIScrollView
?
for (UIView *subview in scrollView.subviews) {
[subview removeFromSuperview];
}
Вы также удалите полосу прокрутки с помощью выше решения. Чтобы решить эту проблему, вы можете спросить, является ли подзаголовок, подлежащий удалению, экземпляром UIImageView. Очевидно, вам нужно будет сделать больше проверок, если в представлении прокрутки появятся ваши собственные UIImageView.
for (UIView *subview in scrollView.subviews) {
if(![subview isKindOfClass:[UIImageView class]])
[subview removeFromSuperview];
}
Обычно я использую один вкладыш следующим образом: в случае, если вам интересно.
while(scrollView.subviews.count > 0) [[scrollView.subviews objectAtIndex:0] removeFromSuperview];
Его очень просто написать этот код внутри цикла, где динамическая структура создает и часто меняет его.
[subview removeFromSuperview];
В одной строке
[_ui_scroll.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
СВИФТ:
for subview in self.scrollView.subviews
{
subview.removeFromSuperview()
}