我有一个按钮,一旦用户提交表单,按钮图像就会更改为DONE.PNG
,否则它将保持为SUBMIT.PNG
。
我需要知道以下内容;
1。)我们如何编写方法,以了解用户点击的按钮。 (如果他在按钮上显示DONE.PNG
或SUBMIT.PNG
图片时点击该按钮
我的按钮点击事件为-(void)buttonClicked : (id)sender {}
答案 0 :(得分:1)
通常你会设置UIButton的标签。
- 在有关UIButton元素的信息下进行的接口或故事板。
- 以编程方式执行此操作:myButton.tag = 23;
然后在按钮点击中执行此操作:
UIButton* senderButton = (UIButton*) sender;
if(senderButton.tag==23) {
// It's the button as submit
// Set button image
senderButton.tag = 5;
}
if(senderButton.tag==5) {
// Button is done
}
希望你得到它的工作:)
答案 1 :(得分:0)
您可以向按钮添加标签,即NSInteger buttonTag = [sender tag],然后使用条件语句检查标签值以确定单击了哪个按钮。
答案 2 :(得分:0)
当您使用单个按钮并仅更改其图像时,您可以使用以下两种简单方法:
检查按钮图像的名称,如果其DONE.PNG
然后执行所需操作,则更改图像,反之亦然。
有一个变量,您可以采用整数(如果您在同一个按钮上有更多的图像更改,它会对您有所帮助)来跟踪按钮状态/图像。
例如,我们将typedef buttonState
并针对合适的案例进行检查。
在.h
档案
//在接口声明之前..
typedef enum
{
ButtonStateDone = 1,
ButtonStateSubmit,
//any other state that it may have.
} ButtonState
接口声明中的// ..
ButtonState buttonState;
//我们将用它来跟踪按钮状态。
在.m
档案
在初始视图中显示时,最初设置buttonState。假设按钮显示DONE.PNG
所以buttonState = ButtonStateDone;
现在,在按钮操作中,您将更改此
if(buttonState == ButtonStateDone)
{
//do something and change button state.
}
if(buttonState == ButtonStateSubmit)
{
//do something and change button state.
}
在这里,我使用了typedef
,如果您需要为按钮设置超过2个状态,则此功能很有用,您只需使用BOOL
变量即可。