更改按钮图像在Iphone中选择按钮时

时间:2011-09-07 14:09:36

标签: ios ios-4.2 ios4

我的第一个视图上有两个按钮,所以当我点击其中一个按钮时,视图会发生变化,因此我有两个图像,一个用于默认状态,另一个用于选定状态, 首先我尝试使用xib,进入属性并更改状态,然后选择正确的图像,当我构建并运行我的代码时,On clike图像不会改变..

所以我通过代码

这样做了
- (IBAction) handleButton:(id)sender
{
    UIButton *button = (UIButton*)sender;
    int tag = [button tag];

    switch (tag)
    {
        case BUTTON_1:
            if ([m_Button1 isSelected]) 
            {

 [m_Button2 setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];                                                                                 
                [m_Button1 setSelected:NO];
            }
            else 
            {
              [m_Button1 setImage:[UIImage imageNamed:@"image_pressed.png"] forState:UIControlStateSelected];   
                [m_Button1 setSelected:YES];
            }
            [self displaymethod1];
            break;
        case BUTTON_2:
            [self displaymethod2];
            break;
        default:
            break;
    }
}

这里当我点击它时图像会发生变化,我会看到不同的视图..当我再次回到我的第一个视图时,按钮仍然处于选定模式..所以我该如何解决这个问题..

等待你的回复

2 个答案:

答案 0 :(得分:16)

我认为通过IB有点简单。

在IB中添加常规Round Rect Button时,您可以转到Button面板中的Attributes Inspector部分来修改其行为。

首先将State Config保留在Default中,然后选择所需的图像作为默认状态。此处有imagebackground image属性。设置完成后,您可以将State Config更改为Highlighted,并在突出显示按钮时选择要显示的图像。

注意:这适用于

答案 1 :(得分:0)

当您的视图出现时,您必须启动所有变量和UI属性 在视图中会出现方法。 (在所有情况下都不一定是解决方案仅适用于您的要求)

您可以设置按钮默认状态和图像。

-(void)viewWillAppear:(BOOL)animated
{
 [m_Button2 setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];                                                           
[m_Button1 setSelected:NO];
...
}