UINavigationBar Fade Position Проблемы - PullRequest
1 голос
/ 10 ноября 2011

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

enter image description here

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

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

enter image description here

Я не понимаю, почему это происходит. Я не хочу отключать StatusBar, но если мне придется, я буду. Кто-нибудь может мне помочь с позиционированием автоповорота бара?

РЕДАКТИРОВАТЬ РЕШЕНО

1 Ответ

0 голосов
/ 10 ноября 2011

решено, этот код анимирует 20 пикселей, необходимых для перемещения полосы вниз.

- (void)showToolbar
{

    if (toolbar.hidden == YES)
    {
        [self.navigationController.view layoutSubviews];
        [UIView animateWithDuration:0.25 delay:0.0
                            options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction
                         animations:^(void)
         {
             [[UIApplication sharedApplication]setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];             
             toolbar.hidden = NO;
             toolbar.alpha = 1.0f;
             self.navigationController.navigationBar.alpha = 1.0f;
             CGRect frame = self.navigationController.navigationBar.frame;
             frame.origin.y = 20.0;
             self.navigationController.navigationBar.frame = frame;
         }
                         completion:NULL
         ];
    }
    if ([self.navigationController.navigationBar isHidden]) {
        [self.navigationController setNavigationBarHidden:NO animated:NO]; 
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...