繁体   English   中英

如何在UISplitViewController for iPad中隐藏MasterViewController

[英]How to hide MasterViewController in UISplitViewController for iPad

我正在使用UISplitViewController ,我需要为第一个DetailViewController隐藏MasterViewController 意思是,当app启动时,必须隐藏MasterViewController而不点击任何UIButton 我尝试在UIViewControllers使用UISplitViewController 。但没有任何反应。 之后我尝试在UISplitViewController开发整体应用程序。 这是我试图隐藏MasterViewController的代码

masterViewController = [splitViewController.viewControllers objectAtIndex:0];
    detailVC = [splitViewController.viewControllers objectAtIndex:1];
    [master.view setFrame:CGRectMake(0, 0, 0, 0)];
    detail.view.frame = splitViewController.view.bounds; 

我花了我一个星期这样做,但没有任何效果。请提供解决方案。这将是非常愉快的。

更新

可以隐藏主视图控制器。但是当我将委托设置为详细视图控制器时,它会隐藏所有视图控制器的主视图控制器。 这是我的appDelegate的代码,我在其中添加UISplitViewController

self.splitViewController =[[UISplitViewController alloc]init];

    MasterTableViewController *masterViewController=[[MasterTableViewController alloc]initWithNibName:@"MasterTableViewController" bundle:nil];

    UINavigationController *masterNavigate=[[UINavigationController alloc]initWithRootViewController:masterViewController];

    DetailViewController *detailVC=[[DetailViewController alloc]initWithNibName:@"DetailViewController" bundle:nil];

    UINavigationController *detailNavigate=[[UINavigationController alloc]initWithRootViewController:detailVC];

    self.splitViewController.viewControllers=[NSArray arrayWithObjects:masterNavigate,detailNavigate, nil];

    self.splitViewController.delegate=detailVC;

    self.window.rootViewController=self.splitViewController;

在这里,我将splitViewController的委托设置为detailVC。在具有Nex Mishra代码的detailViewController中我隐藏了主视图控制器,当我从detailVC导航到其他视图时,它隐藏了主视图控制器。 我知道这会很烦人,但它会有所帮助。

您可以使用此委托方法隐藏主VC。

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
{
    //Add your own logic to when you want the master VC hidden. 
    return YES;
}
- (BOOL)splitViewController:(UISplitViewController*)svc
   shouldHideViewController:(UIViewController *)vc
          inOrientation:(UIInterfaceOrientation)orientation
{

// this commant is used for showing or hiding the split view controller

svc.presentsWithGesture = TRUE; 

return YES;
}

// dont forget to assign the delegate like this in viewWillAppear


(self.splitViewController.delegate = self;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM