带有MGSplitView控制器的弹出窗口 - 方向问题



我正在寻找一种如何在PopoverController中获取SplitViewController的方法。(弹出框与拆分视图内部)

现在我使用 MGSplitViewController 完成了这项工作,但我有这样的问题,根据方向,布局。

1.当我设置

showsMasterInPortrait = YES;

它看起来像这样:https://i.stack.imgur.com/Bd31R.png

2. 当我设置

showsMasterInLandscape = YES;

它看起来像那样:https://i.stack.imgur.com/oWCSp.png

我的目标是与母版 |详细信息部分(如案例 1),其中详细信息将其内容拉伸到与弹出框控制器宽度相同的宽度。

这是我的代码:

MGSplitViewController *customSplitVC = [[MGSplitViewController alloc] init];
customSplitVC.showsMasterInPortrait = YES;
customSplitVC.view.backgroundColor = [UIColor whiteColor];
[customSplitVC setSplitPosition:400 animated:YES];
DetailViewController *detailViewController = (DetailViewController*)[storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"];
detailViewController.title = @"Detail";
ListViewController *listViewController = [[ListViewController alloc] initWithDetailViewController:detailViewController];
listViewController.title = @"Master";
listViewController.content = self.myContent;
UINavigationController *detaillNC = [[UINavigationController alloc] initWithRootViewController:detailViewController];
listViewController.detailViewController = detailViewController;
UINavigationController *masterNC = [[UINavigationController alloc] initWithRootViewController:listViewController];
customSplitVC.viewControllers = [NSArray arrayWithObjects:masterNC, detaillNC, nil];
customSplitVC.delegate = detailViewController;
UINavigationController *customSplitNC = [[UINavigationController alloc] initWithRootViewController:customSplitVC];
UIBarButtonItem *btnCancel = [[UIBarButtonItem alloc] initWithTitle:@"X" style:UIBarButtonItemStyleDone target:self action:@selector(dismissPopover)];
customSplitVC.navigationItem.rightBarButtonItem = btnCancel;
self.popover = [[UIPopoverController alloc] initWithContentViewController:customSplitNC];
self.popover.delegate = self;
self.popover.popoverContentSize = CGSizeMake(1000, 500);
CGRect rect = CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/2, 1, 1);
[self.popover presentPopoverFromRect:rect inView:self.view permittedArrowDirections:0 animated:NO];

感谢您的帮助

试试这个:UINavigationMaster 视图中的控制器问题 (iOS 6)

我发现最有效的方法是在-(void)setup结束时将以下内容添加到MGSplitViewController.m中

self.view.autoresizeSubviews = NO;

确保将

MGSplitViewController实例添加为windowrootViewController

最新更新