for (int i = 0; i<self.view.subviews.count; i++) {
UIView *sub = self.view.subviews[i];
[sub removeFromSuperview];
}
很多人会用这种方式,包括我第一次想做这种操作的时候,也会第一时间想到这个,但是这样就犯了一个错误。因为每次删除我们for的条件,self.view.subviews.count就会减少一个导致产生删除不干净的表现。所以最好的方法就是:
[self.view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
这样就能删除干净啦。