Я пытаюсь скрыть свой NavigationBar и строку состояния (слайд-анимацию), и у меня возникает проблема.Скрытие строки UINavigationBar и строки состояния
Когда строка состояния видна, точка начала каждого элемента, которая находится в 0 точках (x: 0), означает прямо под панелью состояния. Однако, когда панель состояния скрыта, точка 0 (x: 0) обновляется, чтобы разместить новое пространство, а 0 (x: 0) означает абсолютный верх экрана.
Когда я скрыть строку состояния и повернуть в ландшафт, вид autosizes и все сдвинуто использовать пространство в строке состояния, и отбрасывает мои анимации:
if (![[UIApplication sharedApplication] isStatusBarHidden]) {
// Change to fullscreen mode
// Hide status bar and navigation bar
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationSlide];
[UIView animateWithDuration:animationDuration animations:^{
navBar.frame = CGRectMake(navBar.frame.origin.x,
-navBar.frame.size.height-20,
navBar.frame.size.width,
navBar.frame.size.height);
} completion:^(BOOL finished) {
[navBar setHidden:TRUE];
}];
} else {
// Change to regular mode
// Show status bar and navigation bar
[navBar setHidden:FALSE];
[[UIApplication sharedApplication] setStatusBarHidden:NO
withAnimation:UIStatusBarAnimationSlide];
[UIView animateWithDuration:animationDuration animations:^{
navBar.frame = CGRectMake(navBar.frame.origin.x,
0,
navBar.frame.size.width,
navBar.frame.size.height);
} completion:^(BOOL finished) {
}];
}
Есть предложения?
EDIT: Вот что экран выглядит как после relayout Rotation в: Image
Можете ли вы разместить несколько изображений? Не совсем понятно, в чем проблема. Когда вы говорите «отбрасывает мою анимацию», это анимация navBar, о которой вы говорите? – applefreak