gpt4 book ai didi

iphone - 从 subview 中删除所有 UIButton

转载 作者:太空狗 更新时间:2023-10-30 03:46:51 24 4
gpt4 key购买 nike

我正在以编程方式向我的 View 中添加几个 UIButton。单击其中一个按钮后,它们都应该是“removeFromSuperView”或已释放,而不仅仅是一个。

for (int p=0; p<[array count]; p++) {  
button = [[UIButton alloc] initWithFrame:CGRectMake(100,100,44,44)];
button.tag = p;
[button setBackgroundImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
[self.view addSubview:button];
[button addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];
}

现在这是应该删除所有按钮的部分。不只是一个。

-(void) action:(id)sender{  
UIButton *button = (UIButton *)sender;
int pressed = button.tag;
[button removeFromSuperview];
}

我希望有人能帮我解决这个问题!

最佳答案

更有效的方法是在创建按钮时将每个按钮添加到数组中,然后在按下按钮时,让数组中的所有按钮调用 -removeFromSuperView 方法,如下所示:

[arrayOfButtons makeObjectsPerformSelector:@selector(removeFromSuperView)];

之后,您可以将按钮保留在数组中并重新使用它们,或者调用 removeAllObjects 来释放它们。然后您可以稍后再次开始填充它。

这使您不必遍历整个 View 层次结构来寻找按钮。

关于iphone - 从 subview 中删除所有 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2191227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com