xCode4 - 如何在事件发生变化时更改UI按钮?

时间:2011-12-16 04:57:55

标签: xcode uibutton uicontrolevents

我有一个应用程序,当按下按钮时,会发生一个动作..我可以通过使用以下内容来更改动作时按钮:

UIImage *changeImage = [UIImage imageNamed:@"stopGrey.png"];
[myButton setImage:changeImage forState:UIControlStateNormal];

行动结束后,我希望能够更改按钮..我无法弄清楚如何做到这一点..

我已经尝试过UIControlStateDisabled / Selected / Application ..我已经登录以确保收到操作的结束。

感谢您的帮助..

1 个答案:

答案 0 :(得分:4)

好的,你需要这样做:

.h文件:

-(IBAction)ButtonPressed:(id)sender;
-(IBAction)ButtonReleased:(id)sender;

如果您正在使用图形部件将触摸事件连接到方法ButtonPressed并在内部触摸到ButtonReleased(右键单击按钮以显示这些选项)。如果您使用代码添加按钮,请使用方法(在.m文件的viewdidload方法中):

[button addTarget:self action:@selector(ButtonPressed:) forControlEvents:UIControlEventTouchDown];
[button addTarget:self action:@selector(ButtonReleased:) forControlEvents:UIControlEventTouchUpInside];

然后你就完成了。每次触摸按钮时都会调用ButtonPressed方法,每次松开按钮时都会调用ButtonReleased方法。对于您的问题,您可以将以下代码添加到方法(.m文件)

-(IBAction)ButtonPressed:(id)sender
{
    [button setBackgroundImage:[UIImage imageNamed:@"ImageWhenPressed.png"] forState:UIControlStateNormal];
}
-(IBAction)ButtonReleased:(id)sender
{
    [button setBackgroundImage:[UIImage imageNamed:@"ImageWhenReleased.png"] forState:UIControlStateNormal];
}

我也猜测你不知道如何将图形文件中绘制的按钮链接到代码中的指针。首先,在.h文件中创建一个指针:

IBOutlet UIButton *button;

然后,转到图形文件并右键单击 - 拖动文件所有者图像(在左侧,橙色透明的多维数据集作为图像)到按钮。然后,选择具有指针名称的选项。在这种情况下,按钮。

那里!你做完了!