Мне нужна кнопка UIB, чтобы поддерживать нажатое состояние. По сути, если кнопка находится в нормальном состоянии, я хочу коснуться кнопки, она подсвечивается стандартным синим цветом и затем остается синей после поднятия пальца.
Я сделал следующую 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, которое восстанавливает состояние до «нормального»? Как мне сохранить выделенное состояние?