Ios PresentOpenMinumeFromRect的未定义的self.view
我正在尝试将“PresentOpenMinumeFromRect”功能添加到Rhomobile中。但是,我很难引用当前视图 Rhomobile函数(####标记我添加的内容): 基本上,如果预览失败,我想打开“打开”菜单,因为我;M试图打开.KMZ(Google Earth KML文件),但无法预览 完整源代码: 谢谢Ios PresentOpenMinumeFromRect的未定义的self.view,ios,rhomobile,Ios,Rhomobile,我正在尝试将“PresentOpenMinumeFromRect”功能添加到Rhomobile中。但是,我很难引用当前视图 Rhomobile函数(####标记我添加的内容): 基本上,如果预览失败,我想打开“打开”菜单,因为我;M试图打开.KMZ(Google Earth KML文件),但无法预览 完整源代码: 谢谢 Nick,AppManager类继承自NSObject而非UIViewController-为什么它会有一个名为视图的属性?您必须找到另一种方式来显示视图或视图控制器(可能使用应
Nick,AppManager类继承自NSObject而非UIViewController-为什么它会有一个名为
视图的属性?您必须找到另一种方式来显示视图或视图控制器(可能使用应用程序的主窗口)。以下是解决我的问题的代码:
- (void)openDocInteractCommand:(NSString*)url { // inView:(UIView*)view
if (NSClassFromString(@"UIDocumentInteractionController")) {
NSURL *fileURL = [NSURL fileURLWithPath:url];
UIDocumentInteractionController* docController = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
docController.delegate = self;//[AppManager instance];
BOOL result = [docController presentPreviewAnimated:YES];
if (!result) {
[docController retain];
CGPoint centerPoint = [Rhodes sharedInstance].window.center;
CGRect centerRec = CGRectMake(centerPoint.x, centerPoint.y, 0, 0);
BOOL isValid = [docController presentOpenInMenuFromRect:centerRec inView:[Rhodes sharedInstance].window animated:YES];
}
}
}
- (void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)docController
{
[docController autorelease];
}
好吧,我是新手。你能从消息来源知道如何到达主窗口吗?我尝试了以下方法:BOOL isValid=[docController presentonpeninmenufromrect:CGRectMake(300300100100)inView:[Rhodes sharedInstance]。窗口动画:YES];但它给出了以下错误:**由于未捕获的异常“NSGenericeException”而终止应用程序,原因:“-[UIPopoverController dealloc]在popover仍然可见时到达。”---我从未看到“在中打开…”菜单。@user506706您可以使用[[UIApplication sharedApplication]keyWindow],但我认为这与此不太相关…:(使用此解决方案解决此问题:
- (void)openDocInteractCommand:(NSString*)url { // inView:(UIView*)view
if (NSClassFromString(@"UIDocumentInteractionController")) {
NSURL *fileURL = [NSURL fileURLWithPath:url];
UIDocumentInteractionController* docController = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
docController.delegate = self;//[AppManager instance];
BOOL result = [docController presentPreviewAnimated:YES];
if (!result) {
[docController retain];
CGPoint centerPoint = [Rhodes sharedInstance].window.center;
CGRect centerRec = CGRectMake(centerPoint.x, centerPoint.y, 0, 0);
BOOL isValid = [docController presentOpenInMenuFromRect:centerRec inView:[Rhodes sharedInstance].window animated:YES];
}
}
}
- (void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)docController
{
[docController autorelease];
}