У меня есть UIView с несколькими подзонами, а признак Tap признан ассоциированным, и я хочу имитировать его с эффектом "касания". То есть, когда происходит кратковременное нажатие, я хочу показать вид контейнера, чтобы иметь другой цвет фона, и текст любых подтипов UILabels также будет выделен.
Когда я получаю событие крана из UITapGestureRecognizer, я могу изменить цвет фона просто отлично и даже установить UILabel на [label setHighlighted:YES];
По различным причинам я не могу изменить UIView на UIControl.
Но если я добавлю UIViewAnimation, чтобы вернуть выделение, ничего не произойдет. Любые предложения?
- (void)handleTapGesture:(UITapGestureRecognizer *)tapGesture {
[label setHighlighted:YES]; // change the label highlight property
[UIView animateWithDuration:0.20
delay:0.0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
[containerView setBackgroundColor:originalBgColor];
[label setHighlighted:NO]; // Problem: don't see the highlight reverted
} completion:^(BOOL finished) {
// nothing to handle here
}];
}