Кнопка закрытия на адаптивном поповере

В раскадровке у меня есть контроллер корневого представления с кнопкой, которая запускает переход «Представить как поповер» к UINavigationController, содержащему UITableViewController. Я хочу, чтобы навигационный контроллер присутствовал как на iPhone, так и на iPad.

На iPad это прекрасно работает в поповере.

На iPhone я получаю модальное представление, так что теперь мне нужен дополнительный элемент кнопки панели, чтобы отклонить модальное представление. Просматривая видео WWDC, я попытался сделать следующее в корневом контроллере представления:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    UIViewController *vc = segue.destinationViewController;
    vc.popoverPresentationController.delegate = self;
}

- (void)dismissPopover {
    [self dismissViewControllerAnimated:YES completion:nil];
}

- (UIViewController *)presentationController:(UIPresentationController *)controller viewControllerForAdaptivePresentationStyle:(UIModalPresentationStyle)style {
    UINavigationController *nvc = (UINavigationController *)controller.presentedViewController;
    UIBarButtonItem *bbi = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dismissPopover)];
    nvc.topViewController.navigationItem.leftBarButtonItem = bbi;
    return nvc;
}

Я понимаю-presentationController:viewControllerForAdaptivePresentationStyle: Метод должен вызываться только тогда, когда пользовательский интерфейс является адаптивным, то есть модальным, однако он не вызывается вообще, даже если он работает модально на iPhone.

Ответы на вопрос(3)

Ваш ответ на вопрос