从UIScrollView中删除按钮
我已经使用IB添加了一个UIScrollVIew。然后使用下面的代码,我给这个UIScrollView添加几个按钮。从UIScrollView中删除按钮
for (int index=0; index<3;index++)
{
UIButton* button=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:buttonTitle forState:UIControlStateNormal];
[button setFrame:CGRectMake(18,200,300,45)];
[button setTag:100+index];
[button addTarget:self action:@selector(butclick:) forControlEvents:UIControlEventTouchUpInside];
[self.scrollView addSubview:button];
}
现在我需要一种方法来删除我从ScrollView中添加的这些按钮。
注意:还有其他按钮,图像,标签附加到UIScrollView。那些不应该被删除。只有按我编程方式添加的按钮才能从UIScrollView中删除。
放在那些按钮的标签,那么你就可以再次使用带他们:
for (int index=0; index<3;index++)
{
UIButton *myButton = (UIButton *)[self.scrollView viewWithTag:100+i];
[myButton removeFromSuperView];
}
或保存这些按钮在一个数组,然后你就可以这样做。
如果你只想隐藏起来,你可以这样做:
myButton.hidden = YES;
我正在输入相同的东西,但想知道viewWithTag如何回答所有添加的按钮。即将推出一系列要删除按钮的标签。他是否需要循环调用它(以获得所有这些)? – danh 2012-04-06 14:48:31
我已经通过添加TAG属性编辑了该问题。我上面添加的按钮数量可能会发生变化(可能是2,5,7或10)。我怎么能知道每个按钮的标签为了删除它? – user1315906 2012-04-06 14:50:45
阵列的想法很有用,但听起来有点可怕。另一件事:我的赌注是提问者有一些应用条件,使他想要按钮被隐藏并重新显示,而不是被移除和重新分配。没有解决标签问题,但只是隐藏它们肯定会更漂亮。 – danh 2012-04-06 14:50:51
我会接受@安东尼的解决方案,但如果你不确定的按钮是如何被前面添加,跑他环路到可能存在的最大数量。在某些情况下,viewWithTag会变为零,但发送[nil removeFromSuperview]没有任何伤害; – danh 2012-04-06 15:01:48