因此,这是我必须解决的一个有趣的小问题。我将navigationBar编码为半透明,并将其下面的视图编码为fullScreen。加载视图时,可以点击视图中的清除按钮以“激活”在条形图和其他ui元素中淡出的动画。
当我使用显示的UI元素旋转设备时,它可以正常工作。
但是,如果我再次点击以淡出动画“关闭”元素,然后旋转,则它将导航栏向上推到状态栏中。
我不明白为什么会这样。我不想关闭statusBar,但是如果需要,我会关闭。有人可以帮助我调整杆的自动旋转位置吗?
编辑已解决
最佳答案
已解决,此代码使向下移动条形所需的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];
}
}
关于objective-c - UINavigationBar淡入淡出位置问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8072971/