在 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 Config
是 Highlighted
而不是 Selected
。
非常感谢......它就像一个魅力......并且节省了大量编码......非常感谢
嘿,我还有一个问题..我有两个函数,它们建立一个 NSURL 连接..那么在这种情况下我应该处理委托函数吗..
如果还没有正式问题,我认为最好将其发布为正式问题。我没有使用 NSURL,所以我不确定我是否可以回答你的问题并且我不清楚问题是什么。祝你好运。【参考方案2】:
当您的视图出现时,您必须启动所有变量和 UI 属性 在视图中会出现方法。 (并非在所有情况下都需要解决方案仅针对您的要求)
您可以在此处设置按钮的默认状态和图像。
-(void)viewWillAppear:(BOOL)animated
[m_Button2 setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
[m_Button1 setSelected:NO];
...
【讨论】:
以上是关于在 Iphone 中选择按钮时更改按钮的图像的主要内容,如果未能解决你的问题,请参考以下文章
iphone uibutton:我想更改 UIControlStateNormal 图像