- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 documenthandler cordova 插件,如果我点击按钮,我会从 url 获取文档处理程序中的 pdf,这样我就可以将 pdf 保存到 iBooks 中。
现在,我需要能够在不打开文档的情况下触发共享按钮,而不是在查看器中打开文档并单击共享按钮,然后再次单击以保存到 iBooks 中。我知道这可以使用 presentOpenInMenuFromRect
而不是 presentViewController
来完成,但由于某些原因它不起作用,代码如下:
#import "DocumentHandler.h"
@implementation DocumentHandler
- (void)HandleDocumentWithURL:(CDVInvokedUrlCommand*)command;
{
CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:@""];
__weak DocumentHandler* weakSelf = self;
dispatch_queue_t asyncQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(asyncQueue, ^{
NSDictionary* dict = [command.arguments objectAtIndex:0];
NSString* urlStr = dict[@"url"];
NSURL* url = [NSURL URLWithString:urlStr];
NSData* dat = [NSData dataWithContentsOfURL:url];
NSString* fileName = [url lastPathComponent];
NSString* path = [NSTemporaryDirectory() stringByAppendingPathComponent: fileName];
NSURL* tmpFileUrl = [[NSURL alloc] initFileURLWithPath:path];
[dat writeToURL:tmpFileUrl atomically:YES];
weakSelf.fileUrl = tmpFileUrl;
dispatch_async(dispatch_get_main_queue(), ^{
QLPreviewController* cntr = [[QLPreviewController alloc] init];
cntr.delegate = weakSelf;
cntr.dataSource = weakSelf;
UIViewController* root = [[[UIApplication sharedApplication] keyWindow] rootViewController];
[root presentViewController:cntr animated:YES completion:nil];//this works fine and open the document with share button
CGRect rect = CGRectMake(0, 0, 1024, 768);
[root presentOpenInMenuFromRect:rect inView:self.view animated:YES]; // this doesn't work where
//I want to see only sharing options
//here are errors,one of them is /Property'view' not found on object of type ''DocumentHandler
});
[weakSelf.commandDelegate sendPluginResult:commandResult callbackId:command.callbackId];
});
}
#pragma mark - QLPreviewController data source
- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller
{
return 1;
}
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index
{
return self;
}
#pragma mark - QLPreviewItem protocol
- (NSURL*)previewItemURL
{
return self.fileUrl;
}
@end
我需要帮助:(
编辑:查看我想要实现的图像:
最佳答案
presentOpenInMenuFromRect
是一个 UIDocumentInteractionController
方法。我不认为你在这段代码中使用了一个,除非你的 Root View Controller 是一个 UIDocumentInteractionController
,这会非常非常奇怪。
不是实例化和呈现 QLPreviewController
,而是实例化 UIDocumentInteractionController
并从与文档图标对应的矩形呈现弹出框。
为此,请查看 UIDocumentInteractionController documentation .您会看到有一个 interactionControllerWithURL:
方法,您可以使用它来实例化一个指向您的文件的 UIDocumentInteractionController
。然后你可以调用
以显示您想要的弹出窗口。
presentOpenInMenuFromRect:inView:animated:
关于ios - presentOpenInMenuFromRect 不工作 DocumentHandler.h - QuickLook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27028539/
我有从 UIAlertController 中调用的代码: func createSomeFile() { var output = (some NSData to output to fil
在 iPhone4 和 iPad2(均在 iOS 4.3.5 中运行)中执行“presentOpenInMenuFromRect”时,我观察到不同的行为。在iPad2中,它显示一个下拉列表,其中包含可
我在“文档”目录中存储了一个文件 (pdf),我想知道如何检测移动设备中是否安装了可以打开该文件的应用程序 (app)(例如, “pdf”文件可以使用“iBooks”、“DropBox”等打开。我想在
我正在尝试将“presentOpenInMenuFromRect”功能添加到 Rhomobile。但是,我无法引用当前 View 。 Rhomobile 函数(### 标记我的补充): - (void
我正在使用 documenthandler cordova 插件,如果我点击按钮,我会从 url 获取文档处理程序中的 pdf,这样我就可以将 pdf 保存到 iBooks 中。 现在,我需要能够在不
每当我尝试使用 presentOptionsMenuFromRect 方法显示 UIDocumentInteractionController 时,打开的应用程序中不会附加任何文件,我会在控制台中看到
这是我的代码:在 iPad 中它在 iPhone 中崩溃,列表出现但所选应用程序未打开。 - (void)openIn:(NSURL *)fileFullPath { docControlle
我是一名优秀的程序员,十分优秀!