Мне нужен 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, которое сбрасывает состояние обратно в «нормальное»? Как сохранить выделенное состояние?