Potrzebuję UIButtonu, aby utrzymać wciśnięty stan. Zasadniczo, jeśli przycisk jest w normalnym stanie, chcę dotknąć przycisku, podświetli się jego standardowy niebieski kolor, a następnie pozostanie niebieski po podniesieniu palca. Wykonałem następującą operację UIAction i podłączyłem do niej przyciski Touch Up Inside.Nie można zachować UIButton w wybranym stanie po zdarzeniu TouchUpInside
-(IBAction) emergencyButtonPress:(id) sender
{
if(emergencyButton.highlighted)
{
emergencyButton.selected = NO;
emergencyButton.highlighted = NO;
}
else
{
emergencyButton.selected = YES;
emergencyButton.highlighted = YES;
}
}
Ale co się stanie, po zdjęciu palca przycisk powraca na białym tle. Dla testu dodałem UISwitch i mieć go wykonać ten sam kod:
-(IBAction) emergencySwitchClick:(id) sender
{
if(emergencyButton.highlighted)
{
emergencyButton.selected = NO;
emergencyButton.highlighted = NO;
}
else
{
emergencyButton.selected = YES;
emergencyButton.highlighted = YES;
}
}
W tym przypadku przycisk przełącza do podświetlone i nie podświetlonego stanie, jak bym się spodziewał.
Czy po zdarzeniu Touch Up Inside nastąpiło kolejne zdarzenie, które przywraca stan "normalny"? Jak utrzymać zaznaczony stan?
Dzięki za odpowiedź. Dodałem te linie do mojej funkcji viewdidload: function. Teraz, kiedy naciskam i przytrzymuję przycisk, widzę obraz, ale kiedy puściłem przycisk, wraca do białego. – WolfpackEE