使用预定义方法更改按钮图像

时间:2012-05-03 11:52:55

标签: iphone ios

在我的应用程序中使用UIScrollView。我在UIScrollView上添加了按钮。 对于我使用

指定图像的每个按钮
- (void)setImage:(UIImage *)image forState:(UIControlState)state;

和行动。

forState我在 viewDidLoad 中使用了 UIControlStateNormal

当我们点击按钮图像时必须改变。 为此,我使用了相同的方法,但是在 ViewDidLoad 中,状态值更改为 UIControlStateSelected

但按钮图像没有变化。 任何人都可以提供帮助或建议

3 个答案:

答案 0 :(得分:1)

你要像这样使用

在ViewDidLoad中为正常和选定状态设置图像

-(void)ViewDidLaod

[myButton setImage:[UIImage imageNamed:@"barbutton.png"] forState:UIControlStateNormal];

[myButton setImage:[UIImage imageNamed:@"barbutton1.png"] forState:UIControlStateSelected];

要执行选择,可以在代码

下进行图像更改
 -(void)buttonclick

[myButton setSelected:YES];

[myButton setSelected:NO];

答案 1 :(得分:0)

使用这行代码,我认为这对您有所帮助。

-(void)viewDidLoad
 {
    UIButton *myButton = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
    [myButton setFrame:CGRectMake(0,3,70,32)];
    [myButton setImage:[UIImage imageNamed:@"barbutton.png"] forState:UIControlStateNormal];
    [myButton addTarget:self action:@selector(compete) forControlEvents:UIControlEventTouchUpInside];
 }
 -(void)compete
 {
    [myButton setImage:[UIImage imageNamed:@"barbutton1.png"] forState:UIControlStateNormal];
 }

答案 2 :(得分:0)

使用

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