3

大家好,我正在制作一个通用应用程序,并且课程的行为无法正常工作。我在谷歌UINavigationBariPad搜索ViewController了很多,也尝试了许多解决方案,但对我没有用。不能在 iPad 上工作但在 iPhone 上工作正常的setHidden属性UINavigationBar. UINavigationBar不隐藏在 iPad 中我使用以下方式使其隐藏,但所有这些方式在 iPad 中都失败了,但这些在 iPhone 中工作:-

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

self.navigationController.navigationBarHidden = YES;

还有一点,当我从第一级viewController转到另一个第二级ViewController时,当我从第二级弹出时,ViewController它会进入不同的ViewController班级而不是第一ViewController级。

这是 ViewController 代码的 pastebin 链接:-

4

1 回答 1

1

首先,您确定要起诉 UINavigationController,而不是 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];
}
于 2012-12-19T08:04:17.607 回答