Ios 如何在masterViewController中显示modalViewController?

Ios 如何在masterViewController中显示modalViewController?,ios,objective-c,ipad,uisplitviewcontroller,modalviewcontroller,Ios,Objective C,Ipad,Uisplitviewcontroller,Modalviewcontroller,我正在用UISplitViewController开发一款iPad应用程序。我想在masterViewController本身中打开一个modalViewController当我以模式加载视图控制器时,需要整个屏幕才能显示它。 这是我的代码,它位于我的masterViewController.m中,用于以模式显示新的viewController - (void)addNewContactButtonPressed:(id)sender { AddOrEditContact *addCon

我正在用
UISplitViewController
开发一款
iPad
应用程序。我想在masterViewController本身中打开一个
modalViewController
当我以模式加载视图控制器时,需要整个屏幕才能显示它。

这是我的代码,它位于我的
masterViewController
.m中,用于以模式显示新的
viewController

- (void)addNewContactButtonPressed:(id)sender {
    AddOrEditContact *addContact = [self.storyboard instantiateViewControllerWithIdentifier:@"AddOrEditContact"];
    addContact.screenMode = addMode;
    UINavigationController *navigationController = [[UINavigationController alloc]initWithRootViewController:addContact];
    [self.navigationController presentViewController:navigationController animated:YES completion:nil];
}

我想在
masterViewController中以模式加载新的
viewController
任何帮助都将不胜感激。

您不能仅在masterViewController上显示模式viewController,但您可以将childView控制器添加到masterViewController,并执行自己的动画来显示它

- (void)addiewControllerToHierarchy:(UIViewController *)viewController
{
    [self addChildViewController:viewController];

    [self.view addSubview:frontViewController.view];

    if ([viewController respondsToSelector:@selector(didMoveToParentViewController:)])
    {
        [viewController didMoveToParentViewController:self];
    }
}
以及删除

- (void)_removeViewControllerFromHierarchy:(UIViewController *)viewController
{
    [viewController.view removeFromSuperview];

    if ([viewController respondsToSelector:@selector(removeFromParentViewController)])
    {
        [viewController removeFromParentViewController];        
    }
}

此示例没有动画,可能需要调整视图的帧等。。。但我希望能帮你

你为什么需要它?你可以按下它(假设有一个导航控制器),也可以使用弹出窗口。我在主视图中显示联系人。我想添加新联系人或编辑旧联系人。。我希望在主视图本身中执行此操作。Bcoz的设计就是这样。让我知道这是否能帮助你是的,它帮助了我。。但我在等待更好的答案。如果我没有得到任何东西,我会接受你的。我需要在你的回答中自己处理模态视图控制器的导航栏。它显示在当前视图控制器导航栏下方。