大家好,我正在制作一个通用的应用程序,并且在UINavigationBar的iPad上的行为对于一个ViewController类不起作用。我搜索了很多,也尝试了很多解决方案,但是没有为我工作。setHidden属性不工作在iPad上,但是它在iPhone上工作得很好。UINavigationBar不隐藏在ipad中我使用以下方法来隐藏它,但所有这些方法在ipad中都失败了,但这些方法在iphone中工作:

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


self.navigationController.navigationBarHidden = YES;

还有一点,当我从这个1UINavigationBar转到另一个2viewController时,当我从2ViewController弹出时,它转到不同的类,而不是1ViewController类。
Here's the pastebin link to the ViewController Code:-

最佳答案

首先,你确定你是起诉Unavigig控制器,而不是UISplitViewController(正如Shivan正确指出的)?另外,你确定你的隐藏动作是从你的主踏板开始的吗?
无论如何,我找到了这个,可能会对你有帮助;

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];
}

关于objective-c - UINavigationBar不是隐藏在iPad中而是隐藏在iPhone中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13947542/

10-13 23:59