0

Я показываю программно модальный контроллер просмотра, когда пользователь нажимает кнопку на главном контроллере. Проблема в том, что модальное представление отображается без панели навигации.UINavigationController, не отображающийся на контроллере модального вида

Как я могу заставить панель появиться? Вы можете найти свой код и дайте мне знать, что отсутствует или неправильно:

-(void)appInfoButtonPressed:(id)sender { 
infoViewController *iVC=[[infoViewController alloc] init]; 
self.modalPresentationStyle = UIModalPresentationCurrentContext; 
[self presentViewController:iVC animated:YES completion:nil]; 
UINavigationController *navBar = [[UINavigationController alloc] initWithRootViewController:iVC]; 
[self presentViewController:navBar animated:YES completion:nil]; 

}

Кроме того, в попытке распускать вид модального я имею намерение использовать строку ниже:

[self dismissViewControllerAnimated:YES completion:nil]; 

Должен ли я включать эту строку в метод главного контроллера представления или в метод самого модального контроллера?

ответ

2

Удалить [self presentViewController: iVC animated: YES завершение: nil]; Только представить UINavigationController.

Кстати: Нельзя назвать UINavigationController с «navBar».

-(void)appInfoButtonPressed:(id)sender { 
    infoViewController *iVC=[[infoViewController alloc] init]; 
    self.modalPresentationStyle = UIModalPresentationCurrentContext; 
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:iVC]; 
    [self presentViewController:navController animated:YES completion:nil]; 
} 
+0

Большое спасибо! Исправлена! Я также нашел ответ на вторую часть моего вопроса. Просто добавлен этот метод в контроллер модального просмотра. - (void) увольнениеModal: (id) отправитель { [self rejectViewControllerAnimated: YES завершение: nil]; } – Armand

Смежные вопросы