Я создаю приложение, которое использует полноэкранный режим для отображения изображения, как приложение для фотографий. Также как и приложение для фотографий, я пытаюсь сделать так, чтобы панель навигации, строка состояния и панель вкладок исчезали через некоторое время или после того, как пользователь коснулся экрана. Я немного покопался в методах анимации UIView (т.е. animateWithDuration), но понял, что мне нужно использовать Core Animation, чтобы выполнить то, что я хотел сделать.
До сих пор я возился с основной анимацией и столкнулся с кучей проблем, которые я не знаю, как решить:
a) возможно ли отложить анимацию до ее запуска (без использования отдельного потока).
б) Как использовать Core Animation для анимации строки состояния, поскольку у нас нет доступа к виду / слою строки состояния?
в) Как мне остановить анимацию, например, если пользователь нажимает на экран, когда полосы исчезают? Должен ли я сгруппировать их вместе в транзакции кошки?
Просто интересно также, какой подход люди будут использовать, пытаясь выполнить эту задачу. Пока это все, что у меня есть LOL:
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"];