我正在尋找一種方法來獲取PopoverController中的SplitViewController。 (Popover with Splitview inside)與MGSplitViewController裏面的彈出式窗口 - 方向問題
現在我得到了使用MGSplitViewController的這項工作,但我有這樣的問題,根據方向的佈局。
當我設置
showsMasterInPortrait = YES;
它看起來像:http://i.stack.imgur.com/Bd31R.png
2.當我設置
showsMasterInLandscape = YES;
它看起來像:http://i.stack.imgur.com/oWCSp.png
我的目標是擁有一個SplitView with Master |細節部分(如情況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];
感謝您的幫助
如果有人正在考慮使用MGSplitViewController,或者已經使用過它並且仍然可以更改,那麼我建議您不要使用它。我曾參與一個使用它的項目,我必須說它是一團糟。整個事情的建立方式是業餘的(我們都經歷過這樣一個難題)。例如,旋轉消息被手動傳遞給主視圖控制器和詳細視圖控制器。如果它們已被添加爲其容器控制器的子視圖控制器,則會自動發生。這只是控制器許多其他缺陷的一個例子。 – pnizzle