我有 15 个UIButtons
标签相同
我将如何选择/访问所有这些?
最终,我想在事件触发器上更改所有这些属性的属性,并且我不想创建 15 个不同的 IBOutlets,将它们放在一个数组中......等等。
编辑:我知道我可以访问一个元素
UIButton *btn= (UIButton *)[self.view viewWithTag:12];
但是我将如何访问具有相同标签或其他属性的更多内容
该NSArray
选项更容易。您可以像这样配置单个插座:
@property (weak, nonatomic) IBOutletCollection (UIButton) NSArray *buttons;
要使用标签,您需要编写递归搜索算法(假设按钮可以在任意容器视图中)。
编写 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
}
}