Cocoa touch 两种状态->;两个行动->;iOS 7的一个UIButton

Cocoa touch 两种状态->;两个行动->;iOS 7的一个UIButton,cocoa-touch,ios7,uibutton,Cocoa Touch,Ios7,Uibutton,我想完成一些对我来说很难向你解释的事情,但我会尽力去做 我有一个ui按钮(按钮1),并希望它根据此特定按钮的上下文或状态执行两个不同的操作,但上下文或状态由另一个ui按钮(按钮2)控制 我希望这张图片能解释我在寻找什么: 现在。。。我不是在寻找我需要实现的确切代码,而是关于如何实现这一点的想法,可能是一些关于要使用的方法或类的提示 注意:我已经考虑更改UIButton标记来控制操作,但是我不能更改标记,因为我需要它来控制操作的行为。此外,(按钮1)在使用第二个操作后必须返回其原始状态。您可以使

我想完成一些对我来说很难向你解释的事情,但我会尽力去做

我有一个
ui按钮
按钮1),并希望它根据此特定按钮的上下文或状态执行两个不同的操作,但上下文或状态由另一个
ui按钮
按钮2)控制

我希望这张图片能解释我在寻找什么:

现在。。。我不是在寻找我需要实现的确切代码,而是关于如何实现这一点的想法,可能是一些关于要使用的方法或类的提示


注意:我已经考虑更改
UIButton
标记来控制操作,但是我不能更改标记,因为我需要它来控制操作的行为。此外,(按钮1)在使用第二个操作后必须返回其原始状态。

您可以使用UIButton的uicontrol状态和if语句

(即

)


如果我理解正确?

您可以使用UIButton的uicontrol状态和if语句

(即

)


如果我理解正确?

您可以使用UIButton的uicontrol状态和if语句

(即

)


如果我理解正确?

您可以使用UIButton的uicontrol状态和if语句

(即

)


如果我理解正确的话?

根据您的描述,我建议您应该有两个iBaction并设置UIButton 1的属性。您的.h头文件看起来像-

-(IBAction)button1Pressed:(id)sender;

-(IBAction)button2Pressed:(id)sender;

@property (strong, nonatomic) IBOutlet UIButton* button1;
其中button1属性通过界面生成器中的ctrl拖动连接到button1

然后,在.m实现文件中,以下设置将使您能够执行所需的操作

-(IBAction)button2Pressed:(id)sender{

if (self.button1.selected){

self.button1.selected = NO;

}else

self.button1.selected = YES;


}
因此,当您按下按钮2时,这将通过使其“选中”或“未选中”来更改按钮1的状态,这意味着按钮1将执行您需要的任何操作,其中状态由按钮2控制

-(IBAction)button1Pressed:(id)sender{

if (self.button1.selected){

//Place your code here for button 1 to do something in this state

} else

//Place your code here for button 1 to do something in this UN-selected state
}

我希望这有助于你的努力。
谢谢,吉姆。

根据您的描述,我建议您应该有两个iBaction,并设置UIButton 1的属性。您的.h头文件看起来像-

-(IBAction)button1Pressed:(id)sender;

-(IBAction)button2Pressed:(id)sender;

@property (strong, nonatomic) IBOutlet UIButton* button1;
其中button1属性通过界面生成器中的ctrl拖动连接到button1

然后,在.m实现文件中,以下设置将使您能够执行所需的操作

-(IBAction)button2Pressed:(id)sender{

if (self.button1.selected){

self.button1.selected = NO;

}else

self.button1.selected = YES;


}
因此,当您按下按钮2时,这将通过使其“选中”或“未选中”来更改按钮1的状态,这意味着按钮1将执行您需要的任何操作,其中状态由按钮2控制

-(IBAction)button1Pressed:(id)sender{

if (self.button1.selected){

//Place your code here for button 1 to do something in this state

} else

//Place your code here for button 1 to do something in this UN-selected state
}

我希望这有助于你的努力。
谢谢,吉姆。

根据您的描述,我建议您应该有两个iBaction,并设置UIButton 1的属性。您的.h头文件看起来像-

-(IBAction)button1Pressed:(id)sender;

-(IBAction)button2Pressed:(id)sender;

@property (strong, nonatomic) IBOutlet UIButton* button1;
其中button1属性通过界面生成器中的ctrl拖动连接到button1

然后,在.m实现文件中,以下设置将使您能够执行所需的操作

-(IBAction)button2Pressed:(id)sender{

if (self.button1.selected){

self.button1.selected = NO;

}else

self.button1.selected = YES;


}
因此,当您按下按钮2时,这将通过使其“选中”或“未选中”来更改按钮1的状态,这意味着按钮1将执行您需要的任何操作,其中状态由按钮2控制

-(IBAction)button1Pressed:(id)sender{

if (self.button1.selected){

//Place your code here for button 1 to do something in this state

} else

//Place your code here for button 1 to do something in this UN-selected state
}

我希望这有助于你的努力。
谢谢,吉姆。

根据您的描述,我建议您应该有两个iBaction,并设置UIButton 1的属性。您的.h头文件看起来像-

-(IBAction)button1Pressed:(id)sender;

-(IBAction)button2Pressed:(id)sender;

@property (strong, nonatomic) IBOutlet UIButton* button1;
其中button1属性通过界面生成器中的ctrl拖动连接到button1

然后,在.m实现文件中,以下设置将使您能够执行所需的操作

-(IBAction)button2Pressed:(id)sender{

if (self.button1.selected){

self.button1.selected = NO;

}else

self.button1.selected = YES;


}
因此,当您按下按钮2时,这将通过使其“选中”或“未选中”来更改按钮1的状态,这意味着按钮1将执行您需要的任何操作,其中状态由按钮2控制

-(IBAction)button1Pressed:(id)sender{

if (self.button1.selected){

//Place your code here for button 1 to do something in this state

} else

//Place your code here for button 1 to do something in this UN-selected state
}

我希望这有助于你的努力。

谢谢,吉姆。

如果你不能使用标签,我建议将UIButton子类化并简单地存储状态为什么不能将按钮连接到同一个方法并根据状态执行不同的操作?@SVD您的意思是在执行操作或类似操作之前检查按钮是否具有特定的背景颜色?我可能会误解您,但当按下按钮2指示当前状态时,您不能简单地设置Bool或enum吗。然后,当用户按下按钮1时,它会根据此状态确定要执行的操作?基于按钮颜色值的业务逻辑不太可取:)如果您决定不检查按钮状态,您可以始终使用布尔标志,我完全同意@bennytheminkIf如果您不能使用标记,我建议将UIButton子类化并简单地存储状态为什么不能将按钮连接到同一个方法并根据状态执行不同的操作?@SVD您的意思是在执行操作或类似操作之前检查按钮是否具有特定的背景颜色?我可能会误解您,但当按下按钮2指示当前状态时,您不能简单地设置Bool或enum吗。然后,当用户按下按钮1时,它会根据此状态确定要执行的操作?基于按钮颜色值的业务逻辑不太可取:)如果您决定不检查按钮状态,您可以始终使用布尔标志,我完全同意@bennytheminkIf如果您不能使用标记,我建议将UIButton子类化并简单地存储状态为什么不能将按钮连接到同一个方法并根据状态执行不同的操作?@SVD您的意思是在执行操作或类似操作之前检查按钮是否具有特定的背景颜色?我可能会误解您,但当按下按钮2指示当前状态时,您不能简单地设置Bool或enum吗。那么什么时候使用呢