кнопка не останется в UIControlStateHighlighted

#objective-c #uibutton

#objective-c #uibutton

Вопрос:

Я пытаюсь заставить UIButton изменять фоновое изображение, когда пользователь нажимает на него. У меня есть следующий код:

 - (IBAction)indicatedButton:(id)sender
{
[sender setBackgroundImage:[UIImage imageNamed:@"blankTickBox.png"] forState:UIControlStateNormal];
[sender setBackgroundImage:[UIImage imageNamed:@"completeTickBox.png"] forState:UIControlStateHighlighted];
}
 

Когда я запускаю приложение на симуляторе, изображение @ «completeTickBox.png» мигает в течение секунды или около того, когда я нажимаю мышью на кнопку, а затем возвращается к исходному изображению.
Есть идеи?

Ответ №1:

Вы испытываете ожидаемое поведение того, для чего UIControlStateHighlighted предназначено, я думаю, вам нужно UIControlStateSelected вместо UIControlStateHighlighted . Используя этот способ, он будет принимать выбранное изображение до тех пор, пока не будет выбрано его состояние.