我有一个典型的要求,在按下按钮后,我需要将按钮保持为高亮状态。我需要执行一个只有在按钮处于高亮状态时才能工作的任务。其实我正在设置一个按钮状态以编程方式突出显示。如何将UIButton状态设置为在按下后突出显示
[sender setHighlighted:YES];
一旦按钮处于高亮状态,我需要执行其他操作。
- (IBAction)changeState: (UIButton*)sender
{
if (sender.highlighted == YES)
{
[self performSomeAtion:sender];
}
}
但是,我的恐惧,每当我按任何按钮,上述条件正在逐步成为现实,并正在反复进行动作。有什么办法可以让UIButton的状态在按下后突出显示?
EDIT - 实际上我需要针对按钮的3种不同状态执行3种不同的操作。我已经在使用选定的状态和正常状态。现在,我需要使用突出显示的状态。
你可以设置一个布尔变量将更新为TRUE一旦行动已经执行。 –
但我需要将按钮设置为突出显示状态,除非我再次更改它,否则它必须保留在突出显示的状态中。 –
仅适用于ios 7,应考虑将图像renderMode设置为UIImageRenderingModeAlwaysTemplate,然后使用Tint颜色表示各种状态。请参阅http://stackoverflow.com/questions/19802982/apply-tintcolor-to-uiimage –