如何使用iOS 7从视图中删除所有按钮?
以下代码适用于早期版本的iOS:
for(UIView *view in cell.subviews){
if([view isMemberOfClass:[UIButton class]]){
[(UIButton *)view removeFromSuperview];
}
}
答案 0 :(得分:6)
首先,您需要从视图中获取所有子视图,然后检查所有视图是否为UIButton的类型。有关详细信息,请参阅此...
for (UIView *view in self.view.subviews)
{
if ([view isMemberOfClass:[UIButton class]])
{
[(UIButton *)view removeFromSuperview];
}
}
答案 1 :(得分:4)
看起来你根本就没有在子视图中循环。假设这是一个视图控制器:
NSArray * allSubviews = [self.view subviews];
for(UIView view in allSubviews)
{
if([view isMemberOfClass:[UIButton class]])
{
[view removeFromSuperview];
}
}
您也不需要在此处“view
”投射“UIButton *
”,因为“UIView
”的基类是实现“removeFromSuperview
”的内容。
答案 2 :(得分:2)
很抱歉迟到的回复。实际上这部分代码将一直运行到iOS 6.0,但在iOS 7.0及更高版本中,代码无效。
最后,我找到了使用以下语句从UIScrollview
删除所有子视图的解决方案。
[scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)].
答案 3 :(得分:0)
尝试,这将有效
for(UIView *view in self.view.subviews)
{
if ([view isKindOfClass:[UIButton class]])
{
[view removeFromSuperview];
}
}