Очистить содержимое UIScrollView - PullRequest
14 голосов
/ 17 июня 2010

У меня есть приложение для iPhone, которое использует таймер и на каждом временном интервале создает несколько UILabel элементов управления и добавляет их в UIScrollView.

. Я хочу очистить UIScrollView каждый интервал времени до того, как он поместит UILabel элементы управления в UIScrollView.

Как очистить содержимое UIScrollView?

Ответы [ 6 ]

46 голосов
/ 17 июня 2010
for (UIView *subview in scrollView.subviews) {
  [subview removeFromSuperview];
}
15 голосов
/ 14 апреля 2011

Вы также удалите полосу прокрутки с помощью решения выше .Чтобы решить эту проблему, вы можете спросить, является ли подпредставление, которое должно быть удалено, экземпляром UIImageView.Очевидно, вам нужно будет сделать больше проверок, если у вас есть собственные UIImageViews в виде прокрутки.

for (UIView *subview in scrollView.subviews) {
  if(![subview isKindOfClass:[UIImageView class]])
    [subview removeFromSuperview];
}
2 голосов
/ 01 мая 2012

Обычно я иду с одним вкладышем вот так: на случай, если вам интересно ..

while(scrollView.subviews.count > 0) [[scrollView.subviews objectAtIndex:0] removeFromSuperview];
0 голосов
/ 15 января 2016

SWIFT:

 for  subview in self.scrollView.subviews
        {
             subview.removeFromSuperview()
        }
0 голосов
/ 18 октября 2013

В одну строку

[_ui_scroll.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
0 голосов
/ 23 марта 2012

Это очень просто, просто напишите этот код внутри цикла, где динамическая структура часто создает и изменяет свой контент.

[subview removeFromSuperview];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...