0

我正在使用故事板,我想做一个 3 星优先按钮,在第一个视图中,星星会出现关闭(不发光,这意味着优先级 = 0),当你第一次按下这个按钮时,三个不发光的星星的图像更改为一颗星闪烁,当您再次按下此按钮(即带有 3 颗星图像背景的按钮)时,一颗星将闪烁,这意味着优先级 = 1(图像更改),然后按 #2 两颗星发光,再次按下使三颗星星发光,然后在下一次按下时从头开始(没有一颗星星在发光)。

我使用此代码来实现按钮,但我不知道如何更改图像。有什么帮助吗?

UIButton *btnTwo = [UIButton buttonWithType:UIButtonTypeRoundedRect];

UIImage *btnImage = [UIImage imageNamed:@"3star.png"];
[btnTwo setImage:btnImage forState:UIControlStateNormal];

btnTwo.frame = CGRectMake(40, 140, 240, 30);

[self.view addSubview:btnTwo];
4

1 回答 1

0

创建一个在按下按钮时将调用的方法:

[btnTwo addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];

如果您不想为按钮创建属性声明,请添加标签标识符

btnTwo.tag = 3; //for ex.

在您创建的方法中

-(void) buttonPressed{

   UIButton *button = (UIButton*)[self.view viewWithTag:3];

   [button setImage:[UIImage imageNamed:@"newImage.png"] forState:UIControlStateNormal];

}

在这种方法中,您可以提供逻辑以根据按下的次数分配正确的图像。

于 2013-08-15T20:09:24.043 回答