UIDocumentInteractionController
似乎在iPad模拟器中无法正常运行(“iPhone模拟器”4.0版,随附XCode 3.2.3,使用iOS版本3.2)。
我有一个简单的示例代码,使用UIDocumentInteractionController
来展示PDF预览。它适用于设备。在iPad presentPreview
上只返回NO,不调用UIDocumentInteractionController's
委托方法。
任何提示如何使其有效?
答案 0 :(得分:3)
在此确认相同的行为:调用- (BOOL)presentPreviewAnimated:
在模拟器上返回NO
但在设备上工作。感谢您指出这一点,我花了两个小时一次又一次地检查我的代码。到目前为止没有解决方案。
答案 1 :(得分:0)
我实际上在iOS版本高于iOS 4.2时出现了这个问题,尽管这是当天的一个已知错误。
问题是UIDocumentInteractionController
会在设备上正常运行,但在模拟器中它会崩溃。我发现的是,当我稍微改变内存时,问题就消失了。不同之处在于autoreleasing
委托方法中的DidEndPreview
。这是我的代码的核心:
-(void)createPDF
{
UIDocumentInteractionController *dc;
//....other code to generate pdf document
dc = [[UIDocumentInteractionController interactionControllerWithURL:loadURL] retain];
dc.delegate = self;
[dc retain];
[dc presentPreviewAnimated:YES];
}
//Delegate Methods
- (void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)controller
{
[controller autorelease];
}
之前我曾经处理过简单的创建文档控制器,就像常规模态视图一样,并在我呈现它之后将其释放。
注意:自动释放非常重要,只需定期发布电话即可崩溃。