如何在masterViewController中呈现modalViewController?

时间:2013-06-12 08:02:07

标签: ios objective-c ipad uisplitviewcontroller modalviewcontroller

我正在使用iPad进行UISplitViewController个应用。我想在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];
}

我想在viewController内加载一个新的masterViewController.模式。任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

你不能只在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];        
    }
}

这个例子没有动画,可能你需要调整视图的框架等...但我希望可以帮到你