Мне нужно, чтобы строка состояния исчезала, когда пользователь касался экрана, и мне интересно, возможно ли это с помощью Core Animation. Я установил строку состояния так:
[[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleBlackTranslucent animated: YES];
Когда я использовал анимацию UIView и поместил [[UIApplication sharedApplication] setStatusBarHidden:NO];
в блок UIView animateWithDuration
, он растворился. Однако, когда я использую базовую анимацию, она не работает:
[CATransaction begin];
CABasicAnimation *fader = [CABasicAnimation animationWithKeyPath:@"opacity"];
[fader setDuration:2.0];
[fader setFromValue:[NSNumber numberWithFloat:.75]];
[fader setToValue:[NSNumber numberWithFloat:0]];
[[[[self tabBarController] tabBar]layer]addAnimation: fader forKey:@"BigFade"];
CABasicAnimation *fader2 = [CABasicAnimation animationWithKeyPath:@"opacity"];
[fader2 setDuration:2.0];
[fader2 setFromValue:[NSNumber numberWithFloat:1]];
[fader2 setToValue:[NSNumber numberWithFloat:0]];
[[[[self navigationController] navigationBar]layer]addAnimation: fader2 forKey:@"BigFade2"];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
[CATransaction commit];
Любые идеи о том, как сделать это в Core Animation (мне нужно использовать Core Animation вместо анимации UIView)?