当我点击另一个按钮时,是否可以更改某个按钮的背景图像?
我基本上有10个按钮,我希望用户知道当前点击了哪个按钮。那么会发生什么是每个按钮有2个图像。一个用于选中,一个用于未选中。
我想创建一个能够重置所有按钮的背景图像的功能。在每个按钮的方法中,我将添加此重置功能,然后更改该特定按钮的背景图像。
有人可以建议这怎么可能?
我知道在单击该按钮时如何更改按钮的背景图像。
我的按钮看起来如何:
- (IBAction)posterButton:(id)sender {}
- (IBAction)colorInvertButton:(id)sender {}
等。
答案 0 :(得分:0)
查找UIButton的文档:配置每个按钮,如下所示:
[button setControlImage:selectedImage forState:UIControlStateSelected];
[button setControlImage:unselectedImage forState:UIControlStateNormal];
^^这也可以在界面构建器btw中完成。
还有州UIControlStateNormal | UIControlStateHighlighted
和UIControlStateSelected | UIControlStateHighlighted
,但这是可选的。
按钮也具有选定状态,继承自UIControl
。
如果您希望一次只选择一个按钮,请尝试此操作(_selectedButton应声明为实例变量):
- (UIButton *)selectedButton {
return _selectedButton;
}
- (void)setSelectedButton:(UIButton *)b {
if(b != _selectedButton) {
_selectedButton.selected = NO;
b.selected = YES;
_selectedButton = b;
}
}