更改正常突出显示的按钮状态并保持按住状态

时间:2011-02-01 04:40:22

标签: iphone

我正在创建一个iphone应用程序,其中我使用了25个按钮,并且每个按钮在正常模式下都显示了背景图像。我还在按钮的突出显示模式上设置了另一个图像。

最初按钮将以正常模式显示 现在我希望当按下按钮时,按钮应该更改为突出显示的状态,以便在那里显示另一个图像。 我这样做了:

button.highlighted = YES;

它正在工作,但它设置了一个分数的高亮显示的图像,然后按钮的正常状态再次回来。我使用以下代码创建按钮。

for (int i=0; i<25; i++) {

    if (i > 0) { 

        if (i%5 == 0) {

            xaxis = 28;
            yaxis = yaxis+42;
        }
    } 

    iconButton[i] = [UIButton buttonWithType:UIButtonTypeCustom]; 
    iconButton[i].frame = CGRectMake(xaxis, yaxis, 50, 40); 
    [iconButton[i] setBackgroundImage:[iconArray objectAtIndex:random] forState:UIControlStateNormal]; 
    [iconButton[i] setBackgroundImage:[tapedIconArray objectAtIndex:random] forState:UIControlStateHighlighted];
    [iconButton[i] addTarget:self action:@selector(changeImage:) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:iconButton[i]]; 
    xaxis = xaxis+53; 
} 

我如何保持按钮的状态,我甚至尝试使用计时器,但应用程序崩溃然后。 请帮帮我

非常感谢提前

1 个答案:

答案 0 :(得分:0)

我不确定这一点,但是通过为按钮的UIControlStateSelected设置图像来尝试它 即

[btn setImage:[UIImage imageNamed:@"selectedImage.png"] forState:UIControlStateSelected];