У меня есть gridView, я использую для отображения несколько GridViewCell : UIView
. GidViewCell
добавляет UILabel к себе и прикрепляет UITapGestureRecognizer
к себе.
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[self addGestureRecognizer:gestureRecognizer];
[gestureRecognizer release];
в tapped:
Я хочу воспроизвести анимацию, в том числе изменить цвет фона метки
- (void) tapped:(id)sender {
[UIView animateWithDuration:1.0
delay:0
options:(UIViewAnimationOptionAllowUserInteraction)
animations:^{
[(UILabel *)[[self subviews] objectAtIndex:0] setBackgroundColor:[UIColor blueColor]];
}
completion:^(BOOL finished){
[(UILabel *)[[self subviews] objectAtIndex:0] setBackgroundColor:[UIColor whiteColor]];
}
];
[self.delegate didSelectGridViewCell:self];
}
Но метка просто мигает синим на мгновение - если вообще.
Если я использую тот же код, но настраиваю альфа метки вместо цвета фона, все работает как положено.
Документы Apple перечисляют backgroundColor как анимируемое. Это так? Я что-то не так делаю?