我以编程方式在视图中添加了 3 个按钮,然后将这些按钮添加到数组中,以便以后可以访问它们:
for (i = 0; i < 3; i++)
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[view addSubview:button];
[_buttons addObject:button];
}
如果我引用数组中的按钮并更改按钮的图像,它不会更改屏幕上的按钮。
UIButton* button = [_buttons objectAtIndex: 0];
[button setImage:thumb forState:UIControlStateNormal];
我找到了一种通过循环遍历视图中的所有子视图来更改按钮图像的方法,但是有更好的方法吗?
for (UIView* subView in ((UIView*)[self.view.subviews objectAtIndex:0]).subviews){
if ([subView isKindOfClass:[UIButton class]]){
UIButton *button = (UIButton*)subView;
if (button.tag == self.selected){
[button setImage:thumb forState:UIControlStateNormal];
}
}
}