全部好,
我已经使用IB创建了两个自定义按钮,我已经设置了他们的背景图像。现在我希望当用户选择一个按钮时,它的背景图像应该改变,新的背景图像应该持续到用户按下另一个按钮。这样做?
答案 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]
。选择另一个按钮时,将状态设置恢复正常。