我在视图中添加了10个按钮(示例视图名称为"menuView"),现在我想删除第2,第3,第4个按钮的背景图像.我写了这样的代码
for(id btn in [menuView subViews]){
[btn setBackgroundImage:nil forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)
这段代码的问题是,它删除了所有10个按钮的backGroundimage,但是我需要设置nil
第2个,第3个和第4个按钮
Abi*_*ern 11
如果为添加的按钮创建标记,则可以对其进行过滤.
for(UIButton *btn in [menuView subViews]){
if (btn.tag == 2 || btn.tag == 3 || btn.tag == 4) {
[btn setBackgroundImage:nil forState:UIControlStateNormal];
}
}
Run Code Online (Sandbox Code Playgroud)
当然,您需要确保menuView中没有其他可以共享相同标记的视图.因此,选择是使标签变大,唯一值或检查它们实际上是UIButton.假设menuView的唯一子视图是UIButtons,我编辑了这个.枚举UIButtons不会导致编译器警告tag
不成为NSObject的属性.
UIButton
是其子类的UIControl
子类UIView
.UIView
拥有该tag
属性,因此UIButton
继承此属性.查看正在使用的类的文档很有用,并继续使用层次结构来查看是否存在对您需要执行的操作有用的属性或方法.
归档时间: |
|
查看次数: |
10379 次 |
最近记录: |