0

Я делаю приложение iPad с UISplitViewController. Я хочу открыть modalViewController в самом masterViewController. Когда я загружаю контроллер своего вида модально, для его представления требуется весь экран.Как представить modalViewController внутри masterViewController?

Здесь мой код, который находится в моем 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. Любая помощь будет оценена.

+0

Зачем вам это модально? Вы можете нажать его (учитывая, что есть контроллер навигации), или вы можете использовать всплывающее окно. –

+0

Я показываю контакты на главном экране. Я хочу добавить новый контакт или изменить старый контакт. Я хотел бы сделать это в главном представлении. Дизайн Bcoz такой. –

ответ

1

Вы не можете представить модальное ViewController над только masterViewController, но вы можете добавить контроллер 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];   
    } 
} 

Этот пример не имеет анимации и, вероятно, вам нужно настроить рамку представления и т. Д. ... но я надеюсь, что вам это поможет

+0

Позвольте мне попробовать это .. –

+0

дайте мне знать, если это может вам помочь – Manu

+0

Да, это помогло мне. Но я жду более лучшего ответа. Если я ничего не получу, я бы принял твое. –