暂时更改UIButtons图像

时间:2010-11-15 12:12:49

标签: iphone interface-builder uibutton

我有一个UIButton,我在IB中分配了一个图像。

然后我在代码中更改了图像,但我只希望这是暂时的。

如何将按钮返回到IB中设置的图像,或者在执行临时切换后是否有办法恢复?

由于

2 个答案:

答案 0 :(得分:2)

如果你想恢复到上一张图片,你必须在某处存储对它的引用:

// prevImage is an ivar UIImage *
prevImage = [[myButton imageForState:UIControlStateNormal] retain];

// Change to the new image
...

// Later: revert back to prevImage
[myButton setImage:prevImage forState:UIControlStateNormal];
[prevImage release];
prevImage = nil;

答案 1 :(得分:1)

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"image1.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"image2.png"] forState:UIControlStateHighlighted];
[button setImage:[UIImage imageNamed:@"image3.png"] forState:UIControlStateSelected];
[button setImage:[UIImage imageNamed:@"image4.png"] forState:UIControlStateDisabled];

您可以为不同的状态设置自己的自定义图像。当您点击它时,相应的图像将出现在您的按钮上。