0

Seguedestinationviewcontroller pdfviewcontroller 不显示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;

}
}

仅显示导航栏和后退按钮项

并显示从 pageviewcontroller strong 分配给 pdfviewcontroller strong 的语义问题不兼容的指针类型。

感谢帮助。

4

1 回答 1

2

这一行是错误的:

pdfviewController=页面;

正如编译器告诉您的那样,类型是PDFViewController *并且您正在尝试分配PageViewController *.

你的意思是这样的:

pdfviewController.page = page;

segue 应该这样做:

- (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 视图控制器添加一些属性:

@property (copy, nonatomic) NSString *path;
@property (strong, nonatomic) PageViewController *page;

然后在pdf视图控制器中

- (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;
}
于 2013-07-11T18:42:30.330 回答