Я работаю над приложением, которое, подобно приложению для фотографий, должно использовать весь экран для изображений. Сейчас я работаю над тем, чтобы статус, навигация и панели вкладок исчезали и появлялись снова, когда пользователь касался экрана. Он работает по мере необходимости, единственная проблема - пауза перед исчезновением анимации, которая не позволяет пользователю нажимать кнопки на панели навигации и панели вкладок. Вот мой код:
[UIView animateWithDuration:.25 delay:5.5 options:UIViewAnimationOptionAllowUserInteraction animations:^
{
self.navigationController.navigationBar.alpha = 0;
self.tabBarController.tabBar.alpha = 0;
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
completion:nil];
Таким образом, очевидным решением является создание потока, который запускается перед анимацией, которая спит в течение 5,5 секунд. Кто-нибудь знает, как реализовать это, используя грандиозную центральную диспетчеризацию, или каков наилучший способ сделать это? Или у кого-нибудь есть более чистое решение? Я читал, что не рекомендуется использовать sleep в GCD, и в основном у меня нет большого опыта программирования потоков, и я немного запутался.