PrepareforSegue不显示destinationviewcontroller [英] PrepareforSegue not displaying destinationviewcontroller

查看:120
本文介绍了PrepareforSegue不显示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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆