0

我有一个 pdfviewcontroller 作为 segue destinationviewcontroller,我想在其中显示 pageviewcontroller。

- (IBAction)ReadAction:(id)sender {

[self performSegueWithIdentifier:@"MySegue" sender:sender];

}


- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
 if ([[segue identifier] isEqualToString:@"MySegue"]) {

// Get destination view
PDFViewController *pdfviewController = [segue destinationViewController];
}
 }

在 pdfviewcontroller 中有代码来显示 pageviewcontroller

NSString *path = [[NSBundle mainBundle] pathForResource:@"Paper" ofType:@"pdf"];
PageViewController *page = [[PageViewController alloc] initWithPDFAtPath:path];
//[self presentViewController:page animated:NO completion:NULL];

如果我使用这个语句

//[self presentViewController:page animated:NO completion:NULL];

然后它不显示导航栏和backbarbuttonitem

原因是故事板中已经设置了segue,不需要调用presentViewController。

但是当我删除这个声明

 //[self presentViewController:page animated:NO completion:NULL];

然后它不显示pageviewcontroller,只显示导航栏和backbarbuttonitem。

当我替换这个语句时

//[self presentViewController:page animated:NO completion:NULL];

有了这个声明

 [self.view addSubview:page.view];

然后它显示 pageviewcontroller 但根本不翻页。使用卷曲效果过渡翻页。

如果我添加此代码

 NSString *path = [[NSBundle mainBundle] pathForResource:@"Paper" ofType:@"pdf"];
PageViewController *page = (PageViewController *)[segue destinationViewController];
[page initWithPDFAtPath:path];

在准备 segue 在 pdfviewcontroller 中显示 pageviewcontroller 然后我收到此错误

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“ -

[PDFViewController initWithPDFAtPath:]: 

无法识别的选择器发送到实例

如果有人能指导我正确的方向,将不胜感激。

感谢帮助。

4

0 回答 0