我想要完成一些事情我甚至很难向你解释,但是我要去尝试。
我有一个UIButton
(按钮1 )并希望它根据上下文或状态执行两个不同的操作此特定按钮,但上下文或状态由另一个UIButton
(按钮2 )控制。
我希望这张图片可以解释我在寻找的东西:
现在......我不是在寻找我需要实现的确切代码,而是想知道如何实现这一点,可能会对某些方法或类使用提示。
注意:我已经考虑过更改UIButton
标记以控制操作,但我无法更改标记,因为我需要它来控制操作的行为。此外,( Button1 )一旦使用了第二个动作,就必须返回原始状态。
答案 0 :(得分:3)
根据您的描述,我建议您应该有两个IBActions并设置UIButton 1的属性。您的.h头文件看起来像 -
-(IBAction)button1Pressed:(id)sender;
-(IBAction)button2Pressed:(id)sender;
@property (strong, nonatomic) IBOutlet UIButton* button1;
当button1属性连接到你的按钮时,通过在界面构建器中按住Ctrl键拖动。
然后在.m实现文件中,以下设置将使您能够执行您正在寻找的内容。
-(IBAction)button2Pressed:(id)sender{
if (self.button1.selected){
self.button1.selected = NO;
}else
self.button1.selected = YES;
}
因此,当你按下button2时,这将改变button1的状态,方法是将其设置为“选中”,这意味着button1将执行你需要的任何操作,其中状态由button2控制。
-(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
}
我希望这有助于您尝试做的事情。 谢谢,吉姆。
答案 1 :(得分:0)
你可以使用UIButton的UIControlState和if语句。
(即
buttton.selected....
buttton.enabled.....
buttton.highlighted....
)
如果我理解正确吗?