Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone setNavigationBarHidden动画不在iPad上运行_Iphone_Ios_Ipad_Uinavigationcontroller_Uinavigationbar - Fatal编程技术网

Iphone setNavigationBarHidden动画不在iPad上运行

Iphone setNavigationBarHidden动画不在iPad上运行,iphone,ios,ipad,uinavigationcontroller,uinavigationbar,Iphone,Ios,Ipad,Uinavigationcontroller,Uinavigationbar,当用户单击按钮时,我在我的应用程序中使用以下代码: [self.navigationController setNavigationBarHidden:NO animated:YES]; 这种外观通常在iPhone上会有动画,但在iPad上不会。你知道为什么吗?这里最好的解决方案可能是放置self.navigationBar.hidden=NO将出现:UIViewController的方法,您不希望在其中永久隐藏该条 编辑: 我发现了这个,可以帮你 if( UI_USER_INTERFACE_

当用户单击按钮时,我在我的应用程序中使用以下代码:

[self.navigationController setNavigationBarHidden:NO animated:YES];

这种外观通常在iPhone上会有动画,但在iPad上不会。你知道为什么吗?

这里最好的解决方案可能是放置
self.navigationBar.hidden=NO-view中的code>将出现:
UIViewController的方法,您不希望在其中永久隐藏该条

编辑:

我发现了这个,可以帮你

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];
}
if(UI\u USER\u INTERFACE\u 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上下文:NULL];
[UIView设置动画持续时间:0.2];
self.navigationController.navigationBar.frame=rect;
[UIView委员会];
}
其他的
{
[self.navigationController设置NavigationBarHidden:shoulHide动画:是];
}

这里最好的解决方案可能是将
self.navigationBar.hidden=NO-view中的code>将出现:
UIViewController的方法,您不希望在其中永久隐藏该条

编辑:

我发现了这个,可以帮你

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];
}
if(UI\u USER\u INTERFACE\u 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上下文:NULL];
[UIView设置动画持续时间:0.2];
self.navigationController.navigationBar.frame=rect;
[UIView委员会];
}
其他的
{
[self.navigationController设置NavigationBarHidden:shoulHide动画:是];
}

您确定要在主线程的上下文中调用它吗

您确定要在主线程的上下文中调用它吗

这个代码对我来说很好用。我尝试了iphone的导航模板,然后针对两个特定设备对ipad进行了项目升级。并在ipad上运行。然后,导航栏会像iphone应用程序一样以相同的动画隐藏/显示

试试这个。愿你有更多的想法

谢谢


MinuMaster

此代码对我来说运行良好。我尝试了iphone的导航模板,然后针对两个特定设备对ipad进行了项目升级。并在ipad上运行。然后,导航栏会像iphone应用程序一样以相同的动画隐藏/显示

试试这个。愿你有更多的想法

谢谢



MinumMaster

请检查您编写的其他代码以及视图的属性。我在我的通用应用程序中使用了这个片段,它在iPhone和iPad上都能正常工作。因此,看起来您的视图的其他设置(可能是自动调整属性大小???)导致了这种情况。

请检查您编写的其他代码以及视图的属性。我在我的通用应用程序中使用了这个片段,它在iPhone和iPad上都能正常工作。因此,看起来是视图的其他设置(可能是自动调整属性大小???)导致了这种情况。

您能否检查self.navigationController是否为null?navigationController是否为null。导航栏显示正确,唯一的问题是iPhone上没有动画。是否同时有其他动画?不是直接在导航控制器上,而是在其他显示的视图上是。请注意,在iPhone上显示相同的动画,因此我认为这没有什么区别。如果您只提供这一行,我们可能很难找出确切的错误点……您能检查self.navigationController是否不为null吗?navigationController不为null。导航栏显示正确,唯一的问题是iPhone上没有动画。是否同时有其他动画?不是直接在导航控制器上,而是在其他显示的视图上是。请注意,iPhone上显示的是相同的动画,所以我不认为这有什么区别。如果您只提供这一行,我们可能很难找到确切的错误点……当用户单击按钮时,该栏应该出现。所以我不能把代码放在视图中,因为我们的答案是有效的,所以如果没有人能解释为什么我必须为iPad制作不同的代码,我会给你奖励。我真的很想了解当用户点击一个按钮时,工具栏上会出现什么。所以我不能把代码放在视图中,因为我们的答案是有效的,所以如果没有人能解释为什么我必须为iPad制作不同的代码,我会给你奖励。我真的很想知道你是对的!我将试着看看我做了什么,让动画在iPad上而不是iPhone上出现问题。我现在一点也不知道。也许发布一些代码可以让你更快地回答可能出了什么问题……事实上你是对的!我将试着看看我做了什么,让动画在iPad上而不是iPhone上出现问题。我现在一点也不知道。也许发布一些代码可以让你更快地回答可能出了什么问题……是的,当我开始一个新项目时,它也对我有用。所以这一定是我在剩下的代码中所做的,这些代码适用于iPhone,但不适用于iPad……是的,你已经检查过了。也许你能找到任何与此相关的东西。是的,当我开始一个新项目时,它也对我有用。所以这一定是我在剩下的代码中所做的,这些代码适用于iPhone,但不适用于iPad……是的,你已经检查过了。也许你能找到任何与此相关的东西。