如何解决UIDocumentInteractionController在退出时崩溃
| 我的主菜单上有一个常规的UIButton,当前会启动一个UIViewController。相应的.m文件的内容如下:-(id)initWithNibName:(Nsstring *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
documentPath = [[NSBundle mainBundle] pathForResource:@\"file\" ofType:@\"pdf\"];
NSURL *targetURL = [NSURL fileURLWithPath:documentPath];
document = [UIDocumentInteractionController interactionControllerWithURL: targetURL];
document.delegate = self;
[document retain];
return self;
}
-(UIViewController *)documentInteractionControllerViewControllerForPreview: (UIDocumentInteractionController *) controller
{
return self;
}
-(void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)controller
{
[document autorelease];
}
-(void)viewDidLoad
{
[super viewDidLoad];
[document presentPreviewAnimated: YES]; // ** CRASH **
}
-(void)viewDidUnload
{
[super viewDidUnload];
}
-(void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
-(BOOL)shouldAutorotatetoInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
-(void)dealloc
{
[super dealloc];
}
我的pdf文件按预期加载,但是,当我按“完成”按钮时,文档关闭,而我盯着空白的UIViewController-可以说是预期的。但是,如果我按下导航“后退”按钮,则该应用程序崩溃,并且在viewDidLoad方法内部出现严重的访问错误,在该方法中找到了对presentPreviewAnimated的调用。
如果有人可以请看,我将不胜感激。
(顺便说一句,创建此视图控制器时没有NIB文件。是的,这本身是错误的)
解决方法
我想知道问题是否在于您在视图创建期间执行此操作。这样,当用户关闭文档预览时,它会返回到一个不完整的UIView。因此,也许首先构建并加载视图,然后从viewDidAppear执行UIDocument吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。