Objective c UINavigationBar淡入位置问题

Objective c UINavigationBar淡入位置问题,objective-c,ios,ipad,uinavigationbar,Objective C,Ios,Ipad,Uinavigationbar,所以,这里有一个我不得不处理的有趣的小问题。我将导航栏编码为半透明,下面的视图为全屏。加载视图时,我可以点击视图中的“清除”按钮来“激活”在工具栏和其他ui元素中淡出的动画 当我在UI元素可见的情况下旋转设备时,它可以完美地工作 但如果我再次点击以“关闭”带有淡出动画的元素,然后旋转,它会将naivgationbar向上推到状态栏中 我不明白为什么会这样。我不想关闭状态栏,但如果必须关闭,我会关闭。有人能帮我做一下酒吧的自动旋转定位吗 编辑已解决已解决,此代码设置向下移动条所需的20个像素的

所以,这里有一个我不得不处理的有趣的小问题。我将导航栏编码为半透明,下面的视图为全屏。加载视图时,我可以点击视图中的“清除”按钮来“激活”在工具栏和其他ui元素中淡出的动画

当我在UI元素可见的情况下旋转设备时,它可以完美地工作

但如果我再次点击以“关闭”带有淡出动画的元素,然后旋转,它会将naivgationbar向上推到状态栏中

我不明白为什么会这样。我不想关闭状态栏,但如果必须关闭,我会关闭。有人能帮我做一下酒吧的自动旋转定位吗


编辑已解决

已解决,此代码设置向下移动条所需的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]; 
    }
}