PrepareforSegue不显示destinationviewcontroller [英] PrepareforSegue not displaying destinationviewcontroller
问题描述
Segue destinationviewcontroller pdfviewcontroller不显示pageviewcontroller
Segue destinationviewcontroller pdfviewcontroller not displaying pageviewcontroller
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"MYSegue"]) {
// Get destination view
PDFViewController *pdfviewController = [segue destinationViewController];
NSString *path = [[NSBundle mainBundle] pathForResource:@"paper" ofType:@"pdf"];
PageViewController *page = [[PageViewController alloc] initWithPDFAtPath:path];
pdfviewController= page;
}
}
仅显示导航栏和后退按钮
shows only navigation bar and backbuttonitem
并显示从pageviewcontroller strong分配给pdfviewcontroller strong的语义问题不兼容的指针类型。
and shows semantic issue incompatible pointer types assigning to pdfviewcontroller strong from pageviewcontroller strong.
感谢您的帮助。
推荐答案
这一行错了:
pdfviewController = page;
pdfviewController= page;
正如编译器告诉你的那样,类型是 PDFViewController *
并且您正在尝试分配 PageViewController *
。
As the compiler tells you, the type is PDFViewController *
and you're trying to assign PageViewController *
.
您的意思是:
pdfviewController.page = page;
segue应该这样做:
The segue should just do:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"MYSegue"]) {
// Get destination view
PDFViewController *pdfViewController = [segue destinationViewController];
NSString *path = [[NSBundle mainBundle] pathForResource:@"paper" ofType:@"pdf"];
pdfViewController.path = path;
}
}
向pdf视图控制器添加一些属性:
Add some properties to the pdf view controller:
@property (copy, nonatomic) NSString *path;
@property (strong, nonatomic) PageViewController *page;
然后在pdf视图控制器中
Then in the pdf view controller
- (void)viewDidLoad {
[super viewDidLoad];
PageViewController *page = [[PageViewController alloc] initWithPDFAtPath:self.path];
page.view.frame = self.view.bounds;
[self.view addSubview:page.view];
[self addChildViewController:page];
self.page = page;
}
这篇关于PrepareforSegue不显示destinationviewcontroller的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!