barbuttonitem现在出现了,nowmodalviewcontroller

时间:2013-02-19 01:27:13

标签: ios xcode uiviewcontroller

我需要以模态方式显示PDF文件,当我的用户点击某些按钮时,我将PDF加载到类中并以模态方式显示,现在我需要在modalVC上为用户提供关闭或返回所以我添加了RightBarButtonItem,prioblem是它没有出现?这是负载的代码 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];

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

您将条形按钮附加到错误的viewController。它应该属于您呈现的navigationController中的viewController。这是pdfViewController。

另外......

  • 假设self.pdfViewControllerpdfViewController是同一个对象,最好是始终引用它
  • 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 ......所以这就是您需要实现它的地方。