PrepareforSegue 不显示目标视图控制器
Posted
技术标签:
【中文标题】PrepareforSegue 不显示目标视图控制器【英文标题】:PrepareforSegue not displaying destinationviewcontroller 【发布时间】:2013-07-11 18:35:38 【问题描述】:Segue destinationviewcontroller 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 的语义问题不兼容的指针类型。
感谢您的帮助。
【问题讨论】:
Display pageviewcontroller in Segue destinationviewcontroller 的可能重复项 【参考方案1】:这一行是错误的:
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;
【讨论】:
我想在 pdfviewcontroller 中显示 pageviewcontroller 好的,但它们是什么?他们是你的吗?你是从 github 得到的吗?你觉得他们在一起怎么样? 如果你看看我的这个问题***.com/questions/17599528/…你可能会理解我的问题。感谢您的时间和帮助。 您不应该再次转发相同的问题,而是编辑原始问题。 另一个问题没有说明类定义。您为什么要尝试使用 2 个视图控制器,它们之间的关系应该是什么(为什么不封装在 PDF 视图控制器中)?以上是关于PrepareforSegue 不显示目标视图控制器的主要内容,如果未能解决你的问题,请参考以下文章
使用导航控制器在“prepareForSegue”中设置数据
使用 prepareForSegue 在视图控制器之间传递数据
prepareForSegue 未在嵌入式 segue 中调用