我有一个pageviewcontroller,我想在这个项目中使用storyboard和segue显示
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
当我删除此声明时
//[self presentViewController:page animated:NO completion:NULL];
然后它不显示pageviewcontroller使用curl效果转换来翻页,只显示导航栏和backbarbuttonitem。
当我替换这个陈述时
//[self presentViewController:page animated:NO completion:NULL];
使用此声明
[self.view addSubview:page.view];
然后它会显示pageviewcontroller,但根本不会翻页。
请帮忙。
非常感谢。
答案 0 :(得分:1)
我想我看到了你的问题。由于您在故事板中设置了segue,因此您无需调用presentViewController。我想你在prepareForSegue函数中真正想要做的是:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue destinationViewController] isKindOfClass:[PageViewController class]]) {
NSString *path = [[NSBundle mainBundle] pathForResource:@"Paper" ofType:@"pdf"];
PageViewController *page = (PageViewController *)[segue destinationViewController];
[page initWithPDFAtPath:path];
}
}
此外,如果推送segue没有内置到故事板中,您应该可以使用当前代码进行一次修改:
NSString *path = [[NSBundle mainBundle] pathForResource:@"Paper" ofType:@"pdf"];
PageViewController *page = [[PageViewController alloc] initWithPDFAtPath:path];
[[self navigationController] pushViewController:page animated:YES];
希望这有帮助。