Одновременное скрытие строки состояния и просмотр перехода - PullRequest
1 голос
/ 27 сентября 2011

Я бы хотел перейти от «экрана инициализации» к «экрану презентации» в моем приложении. На экране инициализации отображается строка состояния, но я хочу, чтобы на экране презентации использовался полный экран. Я бы хотел, чтобы строка состояния исчезала, когда появляется экран инициализации, а не до или после него.

В моем обратном вызове из контроллера представления экрана инициализации, который говорит «готов к работе», я делаю это:

[UIView transitionFromView: setupViewController.view toView: runViewController.view 
    duration: 1.0 options: UIViewAnimationOptionTransitionCurlUp 
    completion: ^(BOOL finished) {
        [[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationSlide];
        }];

, но при этом строка состояния будет присутствовать, пока анимация скручивания не завершится, а затем скользит вверх.

Итак, я попробовал это:

[UIView transitionFromView: setupViewController.view toView: runViewController.view 
    duration: 1.0 options: UIViewAnimationOptionTransitionCurlUp 
    completion: nil];
[[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationSlide];

, но при этом строка состояния сдвигается вверх перед началом анимации скручивания.

Итак, я попробовал это:

[UIView beginAnimations: @"whatever" context: nil];
[UIView setAnimationDuration: 1.0];
[UIApplication sharedApplication].statusBarHidden = YES;
[UIView transitionFromView: setupViewController.view toView: runViewController.view 
    duration: 1.0 options: UIViewAnimationOptionTransitionCurlUp completion: nil];
[UIView commitAnimations];

и я получаю одновременное действие, но строка состояния просто исчезает, а не скользит вверх.

Что мне действительно нужно, так это чтобы строка состояния свернулась с экраном инициализации (если я использую скручивание или перевернуть, если я использую переворот), чтобы открыть полный экран, но я согласен на строку состояния чтобы скользить вверх в течение 1,0 секунды, когда экран инициализации свернулся.

Спасибо за любые предложения ...

1 Ответ

1 голос
/ 21 октября 2011

Кажется, что третий метод работает, как вы хотите, за исключением того, что вы использовали строку:

[UIApplication sharedApplication].statusBarHidden = YES;

вместо:

[[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationSlide];

, который позволяет установить анимацию слайда.

Однако я не думаю, что возможно включить строку состояния в анимацию свернувшись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...