大家好,我正在制作一个通用的应用程序,并且在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/