我试图隐藏我的NavigationBar和状态栏(向上滑动动画),我遇到了问题。隐藏UINavigationBar和状态栏问题
当状态栏可见时,位于0点(x:0)的每个元素的原点指的是在状态栏的正下方。但是,状态栏处于隐藏状态时,0(x:0)点更新以容纳新空间,0(x:0)表示绝对顶部。
当我隐藏状态栏,并旋转到景观,视图自动调整大小,一切都转移到使用状态栏的空间,并引发了我的动画:
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) {
}];
}
有什么建议?
编辑:这里的屏幕看起来像旋转的重新布局后:Image
你能张贴一些图片吗?不清楚你的问题是什么。当你说“抛弃我的动画”时,你说的navBar的动画是什么? – applefreak 2013-03-07 09:26:36