【问题标题】:UINavigationBar Fade Position ProblemsUINavigationBar 淡入淡出位置问题
【发布时间】:2011-11-09 23:04:11
【问题描述】:
所以,这是我不得不处理的一个有趣的小问题。我将导航栏编码为半透明,下面的视图为全屏。当我加载视图时,我可以点击视图中的清除按钮来“激活”在栏和其他 ui 元素中淡入淡出的动画。
当我使用可见的 UI 元素旋转设备时,它可以完美运行。
但是,如果我再次点击以“关闭”带有淡出动画的元素,然后旋转,它会将导航栏向上推入状态栏。
我不明白为什么会这样。我不想关闭状态栏,但如果必须,我会的。谁能帮我确定酒吧的自转定位?
编辑已解决
【问题讨论】:
标签:
objective-c
ios
ipad
uinavigationbar
【解决方案1】:
已解决,此代码为向下移动条形所需的 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];
}
}