2017-09-13 130 views
0

我正在使用Xamarin iOS。我想让我们的应用程序在默认阅读器中打开一个.pdf文件。对于Android,我设法通过以下两个步骤完成它:(1)将文件从Assets文件夹复制到Android设备的Downloads文件夹,(2)启动活动以查看文件。Xamarin iOS:如何使用默认阅读器打开.pdf文件?

我找不到iOS的任何类似资源。我们不希望在Xamarin website,中使用该控件,因为它涉及下载大量JavaScript(?)代码,使应用程序的大小更大,并且不支持缩放屏幕。我们想要使用操作系统的默认PDF阅读器。

谢谢。

回答

0

方法1:

生成操作设置为BundleResource。您可以通过右键单击该文件并在打开的菜单中选择“生成操作”来设置文件的生成操作。
创建一个UIWebView并将其添加到一个视图:

webView = new UIWebView (View.Bounds); 
View.AddSubview(webView); 

负载使用NSURL和的NSURLRequest类的文件:

string fileName = "Loading a Web Page.pdf"; // remember case-sensitive 
string localDocUrl = Path.Combine (NSBundle.MainBundle.BundlePath, fileName); 
webView.LoadRequest(new NSUrlRequest(new NSUrl(localDocUrl, false))); 
webView.ScalesPageToFit = true; 

方法2:

public void OpenFile (NSUrl fileUrl) 
{ 
    var docControl = UIDocumentInteractionController.FromUrl (fileUrl); 

    var window = UIApplication.SharedApplication.KeyWindow; 
    var subViews = window.Subviews; 
    var lastView = subViews.Last(); 
    var frame = lastView.Frame; 

    docControl.PresentOpenInMenu (frame, lastView, true); 
} 
+0

感谢帮帮我。 (1a)用Data.Abstractions.WebClient完全限定'Webclient',(1b)用Plugin.WebClient完全限定'Webclient',(2)生成'WebClient'类型,以及(3)添加参考'System.dll ..'我应该使用哪一个? – MrProgrammer

+0

上面的代码只适用于共享项目,现在试试@MrProgrammer –

相关问题