我有15 UIButtons
具有相同的标记
我如何选择/访问所有这些?
最终,我想在事件触发器上更改所有这些属性,并且我不想创建15个不同的IBOutlet,将它们放在数组中等等。
编辑:我知道我可以使用
访问一个元素UIButton *btn= (UIButton *)[self.view viewWithTag:12];
但是如何访问具有相同标签或其他属性的更多内容
答案 0 :(得分:3)
NSArray
选项更容易。您可以像这样配置单个插座:
@property (weak, nonatomic) IBOutletCollection (UIButton) NSArray *buttons;
要使用标记,您需要编写递归搜索算法(假设按钮可以在任意容器视图中)。
答案 1 :(得分:1)
编写if语句并循环遍历子视图的正确方法如下:
for (id aSubview in self.view.subviews){
if ([aSubview isKindOfClass:[UIButton class]] && ([(UIButton *)aSubview tag] == 42)) {
NSLog(@"found button with tag 42");
// do whatever here
}
}