2013-02-19 2 views
0

У меня есть необходимость показывать PDF-файлы по моделям, когда мой пользователь нажимает на некоторые кнопки. Я загружаю PDF-код в класс и представляю его модально, теперь мне нужно предоставить пользователю ab utton на modalVC, чтобы закрыть или вернуться, поэтому я добавил RightBarButtonItem, приоблем заключается в том, что он не появляется? Это код нагрузка Фbarbuttonitem сейчас отображается, presentmodalviewcontroller

 [self.pdfViewController.view addSubview:pdfViewer]; 
    UINavigationController *navController = [[UINavigationController alloc]  
    initWithRootViewController:pdfViewController]; 
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
    initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(shutDown)]; 
    [self presentModalViewController:navController animated:YES]; 

Что я здесь делаю неправильно?

ответ

1

Вы прикрепляете кнопку бара к неправильному видуКонтроллер. Он должен принадлежать viewController внутри вашего представленного навигационного контроллера. Это pdfViewController.

Дополнительно ...

  • предполагая self.pdfViewController тот же объект, как pdfViewController, это лучше, если вы обратитесь к нему последовательно
  • presentModalViewController устарела, так как, по крайней мере ios5.0, вы должны использовать presentViewController:animated:completion

Так что ваш код должен выглядеть примерно так

[self.pdfViewController.view addSubview:pdfViewer]; 
UINavigationController *navController = 
    [[UINavigationController alloc] initWithRootViewController:self.pdfViewController]; 
self.pdfViewController.navigationItem.rightBarButtonItem = 
    [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
               target:self 
               action:@selector(shutDown)]; 
[self presentViewController:navController 
        animated:YES 
        completion:nil]; 

Ваш метод shutDown будет отправлен на представляющий ViewController, а не на ваш представленный pdfViewController ... так что вам нужно его реализовать.

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