如何在单击UIButton时更改UIButton的背景图像,它应保持原样,直到单击另一个按钮为止。
答案 0 :(得分:9)
[myButton setImage:[UIImage imageNamed:@"btn_normal.png"] forState:UIControlStateNormal];
[myButton setImage:[UIImage imageNamed:@"btn_highlighted.png"] forState:UIControlStateHighlighted];
[myButton setImage:[UIImage imageNamed:@"btn_highlighted.png"] forState:UIControlStateSelected];
myButton.showsTouchWhenHighlighted = YES;
第四行myButton.showsTouchWhenHighlighted = YES;会做的。请试试。
答案 1 :(得分:2)
工作代码:
// 1) Give tag to all needed button
// 2) check which button is selected by "sender tag"
// 3) set all other buttons to not selected
-(IBAction) buttonPressed:(id)sender
{
if ([sender isSelected])
{
[sender setImage:unselectedImage forState:UIControlStateNormal];
[sender setSelected:NO];
}
else
{
[sender setImage:selectedImage forState:UIControlStateSelected];
[sender setSelected:YES];
}
}
答案 2 :(得分:1)
每次用户点击视图上的任何按钮时,您都需要设置图像。 因此,当用户点击您的按钮时,将其图像设置为您想要的图像(假设它更暗),其余按钮设置为正常图像(让我们假设更轻)。然后,当用户点击其他按钮时,重复该过程。
[yourButton setImage:[UIImage imageNamed:youImage] forState:UIControlStateNormal];
希望这有帮助。
答案 3 :(得分:1)
您需要查看UIButtonClass参考以获取解决方案。
答案 4 :(得分:0)
您是否考虑过使用UISegmentedControl?这支持保持按下的功能,直到按下另一个。只需查看文档,找到设置图像的方法,并以编程方式设置所选的段。