У меня было много пользователей, жалующихся на то, что маленькую кнопку с надписью «i» сложно нажать на iPhone. Хорошо, достаточно просто - я просто вставил за нее толстую невидимую кнопку, которую нельзя пропустить даже при самых неаккуратных прикосновениях пальцев, и, когда вы ее касаетесь, она выполняет действие infoButtonAction.
Дело в том, что я хотел бы мигать саму кнопку информации в течение примерно 0,25 секунды, просто чтобы дать визуальный тип обратной связи "это то, что происходит". Я имею в виду, я уже предполагаю, что вы хотели нажать кнопку «i», поэтому я просто отношусь к ней так, как будто вы DID нажали ее.
Я пробовал это, но это не работает:
UIImage* normalImage = [_infoButton imageForState:UIControlStateNormal];
UIImage* highlighted = [_infoButton imageForState:UIControlStateHighlighted];
_infoButton.highlighted = YES; // flash the button
[_infoButton setImage:highlighted forState:UIControlStateNormal];
[_infoButton setNeedsDisplay]; //* FIXME: No flash?!
[(AppDelegate*)[[UIApplication sharedApplication] delegate] infoTap]; // do the info action
_infoButton.highlighted = NO;
[_infoButton setImage:normalImage forState:UIControlStateNormal];
[_infoButton setNeedsDisplay];
Любые идеи о том, как получить поведение, которое я хочу?
(Я также открыт для альтернативных идей по поводу обратной связи с пользователями, но все еще любопытно, как бы я это сделал. Представьте себе, что вместо этого у меня есть «игра» / розыгрыш, где вы нажимаете кнопку «ОК» и «отменяете» "мигает, и наоборот, или что-то столь же глупое.)