Невозможно сохранить UIButton в выбранном состоянии после события TouchUpInside

Мне нужен UIButton для поддержания нажатого состояния. Обычно, если кнопка находится в нормальном состоянии, я хочу коснуться кнопки, она выделяется стандартным синим цветом, а затем остается синей после того, как я убрал палец. Я сделал следующий UIAction и подключил к нему событие кнопки Touch Up Inside.

-(IBAction) emergencyButtonPress:(id) sender
{
    if(emergencyButton.highlighted)
    {
        emergencyButton.selected = NO;
        emergencyButton.highlighted = NO;
    }
    else
    {
        emergencyButton.selected = YES;
        emergencyButton.highlighted = YES;
    }
}

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

-(IBAction) emergencySwitchClick:(id) sender
{
    if(emergencyButton.highlighted)
    {
        emergencyButton.selected = NO;
        emergencyButton.highlighted = NO;
    }
    else
    {
        emergencyButton.selected = YES;
        emergencyButton.highlighted = YES;
    }
}

В этом случае кнопка переключается в выделенное и невыделенное состояние, как я и ожидал.

Происходит ли другое событие после события Touch Up Inside, которое сбрасывает состояние обратно в «нормальное»? Как сохранить выделенное состояние?

6
задан WolfpackEE 11 January 2012 в 14:51
поделиться