大家好,我正在制作一个通用应用程序,iPad
上 ViewController
类的 UINavigationBar
的行为不起作用。我在谷歌上搜索了很多并尝试了许多解决方案,但对我不起作用。 UINavigationBar
的 setHidden
属性在 iPad 上不起作用,但在 iPhone 上运行良好。 UINavigationBar
在 iPad 中不隐藏 我使用以下方法使其隐藏,但所有这些方法在 iPad 中都失败了,但这些在 iPhone 中有效:-
[self.navigationController setNavigationBarHidden:YES animated:YES];
和
self.navigationController.navigationBarHidden = YES;
还有一点,当我从第一个 viewController
转到另一个第二个 ViewController
并且当我从第二个 ViewController
弹出时,它会转到不同的 ViewController
类不是第一个 ViewController
类。
最佳答案
首先,您确定您起诉的是 UINavigationController,而不是 UISplitViewController(正如 Shivan 正确指出的那样)?另外,您确定您正在从主要胎面运行隐藏 Action 吗?
无论如何,我找到了这个,这可能对你有帮助;
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/