2010-07-22 164 views
0

大家好,更改按钮的背景图像?

我创建使用IB两个自定义按钮,我已经设置了背景image.Now我想,当用户选择一个按钮,它的背景图片应该改变和新的背景图像应该持续,直到用户按其他button.how要做到这一点?

回答

2

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

你可以改变这样的形象:

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

您可以结合两种方法可以这样做:

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

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

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