使用下面的代码,似乎按钮一直处于正常状态(总是绿色),尽管我点击了他。
UIButton *gumb = [UIButton buttonWithType:UIButtonTypeCustom];
gumb.frame = CGRectMake(4, 40, 104, 37);
gumb.tag=0;
[gumb setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[gumb setTitleColor:[UIColor blackColor] forState:UIControlStateSelected];
[gumb setBackgroundImage:[UIImage imageNamed:@"greenButton.png"] forState:UIControlStateNormal];
[gumb setBackgroundImage:[UIImage imageNamed:@"whiteButton.png"] forState: UIControlStateSelected];
如果我将图像设置为正常状态为whiteButton,而选择设置为greenButton则按钮始终为白色且从不为绿色。
答案 0 :(得分:4)
[gumb setBackgroundImage:[UIImage imageNamed:@"whiteButton.png"] forState: UIControlStateHighlighted]
使用这一个而不是选择的图像
答案 1 :(得分:1)
我不确定选择状态是否仅用于制表符按钮,因为我尝试过像DixieFlatline那样做,有时会使按钮图像发生变化。但是tt.Kilew的方法绝对值得一试。试一试: [gumb setBackgroundImage:[UIImage imageNamed:@“whiteButton.png”] forState:UIControlUIControlStateHighlighted];单击时将更改按钮图像。
答案 2 :(得分:0)
您是否在按钮点击操作
中将按钮的状态设置为selected
- (IBAction)buttonClicked:(id)sender;
{
UIButton *button = (UIButton *)sender;
if(button.tag == 0)// in your case
{
button.selected = YES;
}
// Do something
}
希望这有帮助
答案 3 :(得分:0)
设置所选状态图像的代码:
[_button setImage:[UIImage imageNamed:@"whiteButton.png"] forState: UIControlStateHighlighted];
设置正常状态图像的代码:
[_button setImage:[UIImage imageNamed:@"whiteButton.png"] forState: UIControlStateNormal];