改变按钮的背景图像?

时间:2010-07-22 07:02:34

标签: iphone objective-c uibutton

全部好,

我已经使用IB创建了两个自定义按钮,我已经设置了他们的背景图像。现在我希望当用户选择一个按钮时,它的背景图像应该改变,新的背景图像应该持续到用户按下另一个按钮。这样做?

2 个答案:

答案 0 :(得分:2)

在这种情况下,您必须自己管理按钮的状态 这意味着您应该为每个按钮保持一个BOOL成员,该按钮将指示是否选中该按钮 或者,如果您一次只能选择一个按钮,则可以保留对所选按钮的引用 在点击事件中,您应该通过将最后选择的按钮的图像更改为未选择的图像,并将当前所选按钮的图像更改为选定的按钮图像来管理上述状态。

您可以像这样更改图片:

[button setBackgroundImage:[UIImage imageNamed:@"selected_button.png"] forState:UIControlStateNormal];

答案 1 :(得分:0)

您可以组合使用两种方法:

- (void)setImage:(UIImage *)image forState:(UIControlState)state

使用[self.button setImage:YOUR_IMAGE forState:UIControlStateSelected];

进行调用

然后您可以设置要选择的按钮。 [self.button setState:UIControlStateSelected]。选择另一个按钮时,将状态设置恢复正​​常。