当用户点击按钮时,我在我的应用程序中使用以下代码:
[self.navigationController setNavigationBarHidden:NO animated:YES];
外观在iPhone上正常动画,但不在iPad上动画。你知道为什么吗?
答案 0 :(得分:3)
这里最好的解决方案可能是将self.navigationBar.hidden = NO;
放在UIViewController的-viewWillAppear:
方法中,你不希望这个方法永远隐藏。
编辑:
我发现了这个,可能对你有帮助;
if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
{
CGRect rect = self.navigationController.navigationBar.frame;
rect.origin.y = rect.origin.y < 0 ?
rect.origin.y + rect.size.height
: rect.origin.y - rect.size.height;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
self.navigationController.navigationBar.frame = rect;
[UIView commitAnimations];
}
else
{
[self.navigationController setNavigationBarHidden:shouldHide animated:YES];
}
答案 1 :(得分:1)
您确定要在主线程的上下文中调用它吗?
答案 2 :(得分:1)
请检查您编写的其他代码以及视图的属性。我在我的通用应用程序中使用此片段,它在iPhone和iPad上都能正常工作。所以看起来你的视图的其他一些设置(可能是自动调整属性??)会导致这种情况。
答案 3 :(得分:0)
这段代码对我来说很好。我尝试使用导航模板为iphone,然后为两个特定设备的ipad项目升级。并在ipad中运行。然后导航栏隐藏/显示与iphone应用程序相同的动画。
试试这个。愿你有更多的想法。
谢谢,
MinuMaster