0

我需要以模态方式显示 PDF 文件,当我的用户单击某些按钮时,我将 PDF 加载到一个类中并以模态方式呈现它,现在我需要在 modalVC 上为用户提供关闭或返回的按钮,所以我添加了RightBarButtonItem,问题是它没有出现吗?这是加载 PDF 的代码

     [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];

我在这里做错了什么?

4

1 回答 1

1

您将条形按钮附加到错误的 viewController。它应该属于您呈现的 navigationController 中的 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……所以这就是你需要实现它的地方。

于 2013-02-19T02:32:55.923 回答