ios在运行时多次更改UIButton映像

时间:2013-08-15 19:56:22

标签: cocoa-touch uibutton

我正在使用故事板,我想做一个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];

1 个答案:

答案 0 :(得分: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];

}

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