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

Posted

技术标签:

【中文标题】在 Iphone 中选择按钮时更改按钮的图像【英文标题】:Changing Image of Button When the button is selected In Iphone 【发布时间】:2011-09-07 14:09:36 【问题描述】:

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

所以我通过代码这样做了

- (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;
    

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

等待您的回复

【问题讨论】:

【参考方案1】:

我认为通过 IB 会简单一些。

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

首先通过将State Config 保留在Default 中来选择您想要的默认状态的图像。为此有一个 image 和一个 background image 属性。设置完成后,您可以将 State Config 更改为 Highlighted 并选择要在按钮突出显示时显示的图像。

注意:这是给xcode4的。

【讨论】:

嗨 rjgonzo,我这样做了,但是当我点击它时图像不会改变 确保第二个 State ConfigHighlighted 而不是 Selected 非常感谢......它就像一个魅力......并且节省了大量编码......非常感谢 嘿,我还有一个问题..我有两个函数,它们建立一个 NSURL 连接..那么在这种情况下我应该处理委托函数吗.. 如果还没有正式问题,我认为最好将其发布为正式问题。我没有使用 NSURL,所以我不确定我是否可以回答你的问题并且我不清楚问题是什么。祝你好运。【参考方案2】:

当您的视图出现时,您必须启动所有变量和 UI 属性 在视图中会出现方法。 (并非在所有情况下都需要解决方案仅针对您的要求)

您可以在此处设置按钮的默认状态和图像。

-(void)viewWillAppear:(BOOL)animated

 [m_Button2 setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];                                                           
[m_Button1 setSelected:NO];
...

【讨论】:

以上是关于在 Iphone 中选择按钮时更改按钮的图像的主要内容,如果未能解决你的问题,请参考以下文章

如何在iphone中更改下一个视图之前突出显示按钮?

选择一个按钮时如何更改多个按钮的按钮图像?

iphone uibutton:我想更改 UIControlStateNormal 图像

如何在iphone中以编程方式更改按钮文本

根据 Woocommerce 选择的付款方式,在结帐时更改带有图像的付款按钮

选择一次更新按钮图像 iPad 不工作