【发布时间】:2014-01-09 06:44:47
【问题描述】:
我知道很多用户都问过这个问题,但是我没有找到任何与我的问题相关的答案。
我正在使用UISplitViewController,我的应用程序从登录页面开始,所以我在启动时隐藏了masterView,在DetailViewController 上一段时间后,我使用Delegate 方法显示了主viewController。
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation NS_AVAILABLE_IOS(5_0)
{
return hideMaster;
}
我已将 hideMaster 初始化为 NO ,我的 DetailViewController 的 ViewDidLoad() 如下
ViewDidLoad(){
[self.splitViewController.view setNeedsLayout];
self.splitViewController.delegate =Nil;
self.splitViewController.delegate = self;
[self.splitViewController willRotateToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation duration:0];
[super viewDidLoad];
}
它工作得很好,我的主人现在取消隐藏了。但是在同一个 detailViewController 上,我有一个后退按钮,我将当前 ViewController 弹出到最后一个 viewController,我想再次隐藏 masterViewController,我的后退按钮代码如下。
- (IBAction)back:(id)sender {
hideMaster = NO;
self.splitViewController.delegate =Nil;
self.splitViewController.delegate = self;
[self.splitViewController willRotateToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation duration:0];
[self.navigationController popViewControllerAnimated:NO];
}
将CurrentViewController 弹出到最后ViewController,但不隐藏masterViewController
请帮帮我。
【问题讨论】:
标签: ios iphone ipad uisplitviewcontroller