Clear content of UIScrollView

2020-03-01 06:27发布

问题:

I have an iPhone application that uses a timer and at every time interval it creates some UILabel controls and adds them into a UIScrollView.

What I want to do is to clear the UIScrollView every time interval before it puts the UILabel controls into the UIScrollView.

How can I clear the contents of the UIScrollView?

回答1:

for (UIView *subview in scrollView.subviews) {
  [subview removeFromSuperview];
}


回答2:

You will also remove the scrollbar with the above solution. To solve this, you may ask whether the subview about to be removed is a UIImageView instance. Obviously, you will need to do more checks if you happen to have your own UIImageViews in the scroll view.

for (UIView *subview in scrollView.subviews) {
  if(![subview isKindOfClass:[UIImageView class]])
    [subview removeFromSuperview];
}


回答3:

I typically go with a one liner like this: in case you're interested..

while(scrollView.subviews.count > 0) [[scrollView.subviews objectAtIndex:0] removeFromSuperview];


回答4:

Its Very simple just write this code inside your loop where dynamic structure is creating and changing it's content frequently.

[subview removeFromSuperview];


回答5:

In one line

[_ui_scroll.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];


回答6:

SWIFT:

 for  subview in self.scrollView.subviews
        {
             subview.removeFromSuperview()
        }