Iphone 按钮在按下更改的按钮标题时触发两个操作

Iphone 按钮在按下更改的按钮标题时触发两个操作,iphone,ios5,xcode4,uibutton,title,Iphone,Ios5,Xcode4,Uibutton,Title,我以编程方式更改了UIButton的按钮标题。我还为更改的按钮标题指定了一个操作。现在,当我点击按钮时,它会触发两个动作(一个按钮标题相同,另一个按钮标题已更改)。但是,我只想为更改的标题按钮触发一个操作 我怎么做?任何帮助都将不胜感激 如果为控制状态触控按钮内部的同一按钮指定两个操作,它将始终同时触发两个操作。添加第二个操作时应删除第一个操作,删除第二个操作本身,并在选择器功能结束时再次添加第一个操作 以下是按钮的默认操作 [button addTarget:self:action:@sele

我以编程方式更改了UIButton的按钮标题。我还为更改的按钮标题指定了一个操作。现在,当我点击按钮时,它会触发两个动作(一个按钮标题相同,另一个按钮标题已更改)。但是,我只想为更改的标题按钮触发一个操作


我怎么做?任何帮助都将不胜感激

如果为控制状态触控按钮内部的同一按钮指定两个操作,它将始终同时触发两个操作。添加第二个操作时应删除第一个操作,删除第二个操作本身,并在选择器功能结束时再次添加第一个操作

以下是按钮的默认操作

[button addTarget:self:action:@selector(actionOne)forControlEvents:UIControlStateTouchUpInside]
在actionOne中,您可以为第一个操作调用remove observer并添加第二个操作

    [button addTarget:self:action:@selector(actionTwo)forControlEvents:UIControlStateTouchUpInside]

在actionTwo函数中,您可以反向执行两种解决方案。在方法之间切换目标/操作,或根据某些状态决定要执行的操作

一,

2a

2b


而不是提出两个条件

f([urlresponse status code] == 200) 
{
[myButton setTitle:@"Unfollow" forState:UIControlStateNormal]; //title changed 

[myButton addTarget:self action:@selector(unfollowButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

} 

这可能对你的案子有帮助

解决这个问题的简单方法是只给按钮分配一个操作方法,并使用它的标题文本作为参数,并在此基础上使用if-else语句执行不同的语句:)Hi。谢谢你的帮助。但当我使用不同的uicontrol状态时,另一个标题不会触发同一按钮上的不同操作。看看我的代码。我可能做错了什么。if([urlresponse status code]==200){[myButton setTitle:@“Unfollow”用于状态:UIControlStateNormal];//标题已更改}
- (void)buttonTapped;
{
  if (self.someState) {

  } else {

  }
}
- (void)buttonTapped:(UIButton *)button;
{
    if ([[button titleForState:UIControlStateNormal] isEqualToString:@"First title"]) {

    } else {

    }
}
f([urlresponse status code] == 200) 
{
[myButton setTitle:@"Unfollow" forState:UIControlStateNormal]; //title changed 

[myButton addTarget:self action:@selector(unfollowButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

}