Как переместить ViewViewController в представление tabBarController?

Я пытаюсь отобразить UIViewController, который отображает PDF-файл (PDFReaderViewController). У меня есть tabBarController с 4 вкладками. Я хочу выбрать 4-ю вкладку, которая представляет собой UITableView со списком файлов, и отобразить PDF-файл с панелью навигации вверху. Когда пользователь закончит просмотр PDF, он сможет вернуться к UITableView (4-я вкладка). Я могу отобразить 4-й вид вкладки, но не могу отобразить PDF. Вот мой код:

    PDFReaderViewController *pdfController = [[PDFReaderViewController alloc] init];
    [pdfController initwithName:fileName];

    //display the right tab view
    UIViewController *currView = [tabBarController.viewControllers objectAtIndex:3];    
    [tabBarController setSelectedViewController:currView];
    [window insertSubview:tabBarController.view atIndex:0];

    [[currView navigationController] pushViewController:pdfController animated:YES];///this is not showing!!!!
    [currView loadView];

    [pdfController release];
    [window makeKeyAndVisible]; 

Что я здесь не так делаю? Спасибо за вашу помощь!

1 ответ

Мое лучшее предположение, что currView не является контроллером навигации.

Вам нужно сделать 4-ю вкладку контроллером навигации, корневым контроллером представления которого является tableView. я догадываюсь [currView navigationController] возвращается ноль.

Лучший способ убедиться в этом - установить точку останова на соответствующей строке, затем открыть отладчик и набратьpo currView

Другие вопросы по тегам