我用下面的代码在我的应用程序时,一个按钮用户点击:setNavigationBarHidden动画不工作在iPad
[self.navigationController setNavigationBarHidden:NO animated:YES];
外观正常的iPhone,但不是动画在iPad上。你知道为什么吗 ?
我用下面的代码在我的应用程序时,一个按钮用户点击:setNavigationBarHidden动画不工作在iPad
[self.navigationController setNavigationBarHidden:NO animated:YES];
外观正常的iPhone,但不是动画在iPad上。你知道为什么吗 ?
这里的最佳解决方案可能是将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];
}
用户单击按钮时应显示条。所以我不能把代码放在viewWillAppear – CedricSoubrie
我刚刚编辑我的评论,看看。 – relower
我想避免自己动画,如果有更清晰的方式... – CedricSoubrie
此代码适用于我。我尝试用iPhone的导航模板,然后为两个特定设备的iPad进行项目升级。并运行在iPad上。然后导航栏隐藏/显示与iPhone应用程序一样的动画。
试试这个。愿你有更多的想法。
感谢,
MinuMaster
是的,当我开始一个新项目时,它也适用于我。所以它一定是我在我的代码的其他工作的iPhone,但不是在iPad上... – CedricSoubrie
是的,你有检讨你。可能你会发现与此相关的任何事情。 – MinuMaster
做检查你有你的观点的属性一起写的其他代码。我在我的通用应用程序中使用这个片段,并且它在iPhone和iPad上都能正常工作。所以看起来像你的意见的其他设置(可能是autosizing属性??)造成这种情况。
确实你是对的!我会试着去看看我在iPad上制作动画,而不是在iPhone上制作动画。我现在没有线索。 – CedricSoubrie
大概发布一些代码可能会让你的答案更快,但可能会出错。 – lostInTransit
你可以检查self.navigationController是否为空? –
navigationController不为null。导航栏显示正确,唯一的问题是iPhone上没有动画。 – CedricSoubrie
有没有其他的动画在同一时间? – Zoleas