0

iPadでアプリをやっていUISplitViewControllerます。modalViewControllermasterViewController 自体でa を開きたい。View Controller をモーダルにロードすると、それを表示するのに画面全体が必要になります。

ここに私のコードがあり、新しいモーダル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.助けていただければ幸いです。

4

1 に答える 1

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];        
    }
}

この例にはアニメーションがなく、おそらくビューのフレームなどを調整する必要があります...しかし、私はあなたを助けることができれば幸いです

于 2013-06-12T08:34:47.033 に答える