![](/img/trans.png)
[英]How to force show MasterViewController in Portrait mode on iPad using UISplitViewController iOS
[英]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.