2017-09-13 136 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 –