这一直是当时最愚蠢的问题,但我还没有得到它。 我创建了一个Quicklook,显示很好。当我点击完成按钮时,它会重新出现。如何拦截完成按钮?或者更一般地说,控制我所假设的是导航栏中显示的内容。以下是相关代码:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
/*
* get the path to the pdf resource.
*/
NSString *path = [[NSBundle mainBundle] pathForResource:@"article" ofType:@"pdf"];
NSURL *docURL = [NSURL fileURLWithPath:path];
/*
* create the Quicklook controller.
*/
QLPreviewController *qlController = [[QLPreviewController alloc] init];
PreviewItem *item = [[PreviewItem alloc] initPreviewURL:docURL WithTitle:@"Article"];
self.pdfDatasource = [[PDFDataSource alloc] initWithPreviewItem:item];
qlController.dataSource = self.pdfDatasource;
/*
* present the document.
*/
[self presentViewController:qlController animated:YES completion:nil];
}
我认为我错过了一些明显的东西。
谢谢你, 肯
答案 0 :(得分:0)
您是否尝试将ViewDidAppear代码移至ViewDidLoad?当您单击“完成”按钮时,除ViewDidLoad外,Controller的所有视图都将再次加载。因此quicklook视图再次出现。试试
答案 1 :(得分:0)
诀窍是将所有内容都回滚到原始的viewcontroller中。这样,当我点击完成按钮时,它会回到原始的viewcontroller,这正是我想要的。因此,我只是将调用合并到我的主视图控制器中,而不是单独的类。我怀疑仍然有一种方法可以狡猾地使用代理,但是如果其他人遇到同样的问题,这是一个对我有用的解决方案。
感谢您的关注和帮助。 肯