我有一個典型的要求,在按下按鈕後,我需要將按鈕保持爲高亮狀態。我需要執行一個只有在按鈕處於高亮狀態時才能工作的任務。其實我正在設置一個按鈕狀態以編程方式突出顯示。如何將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 –