Как настроить выделение состояния UIButton после его нажатия

У меня есть типичное требование, когда мне нужно, чтобы кнопка оставалась в выделенном состоянии после ее нажатия. Мне нужно выполнить задачу, которая должна работать только тогда, когда кнопка находится в выделенном состоянии. На самом деле я настраиваю состояние кнопки на программное выделение.

[sender setHighlighted: YES];

И когда кнопка находится в выделенном состоянии, мне нужно выполнить другое действие.

- (IBAction)changeState: (UIButton*)sender
{   
    if (sender.highlighted == YES)
    {
        [self performSomeAtion:sender];
    }
}

Но, к моему ужасу, всякий раз, когда я нажимаю любую кнопку, вышеупомянутое условие выполняется, и действие выполняется неоднократно. Можно ли каким-либо образом сохранить выделение состояния UIButton после его нажатия?

РЕДАКТИРОВАТЬ - На самом деле мне нужно выполнить 3 разных действия для 3 разных состояний кнопки. Я уже использую выбранное состояние и нормальное состояние. Теперь мне нужно использовать выделенное состояние.

14
задан A for Alpha 10 September 2012 в 15:08
поделиться