我使用Xamarin開發iPad iOS 7.0應用程序,並且我想使用UIDocumentInteractionController來顯示PDF。我使用堆棧溢出的各種示例來獲得正確的實現,但沒有任何工作。如何在iPad上使用Xamarin實現UIDocumentInteractionController
這是一個關於Stack Overflow的鏈接,我用它作爲參考。
Monotouch open document - UIDocumentInterationController
我也用這個目標C教程,但一直無法正確轉換此代碼爲C#。 http://code.tutsplus.com/tutorials/previewing-and-opening-documents-with-uidocumentinteractioncontroller--mobile-15130
這是我的代碼。我目前有一個工具欄按鈕,點擊後可以觸發PDF預覽。當我點擊按鈕時沒有任何反應。
這是什麼工作失蹤?
public override void ViewDidLoad()
{
base.ViewDidLoad();
documentInteractionController = new UIDocumentInteractionController();
string fileName = "Content/test.pdf";
string localURL = Path.Combine (NSBundle.MainBundle.BundlePath, fileName);
NSUrl URL = new NSUrl(localURL, false);
documentInteractionController = UIDocumentInteractionController.FromUrl (URL);
documentInteractionController.Delegate = new UIDocumentInteractionControllerDelegateClass(this);
toolbarButton.Clicked += delegate(object sender, EventArgs e){
InvokeOnMainThread(delegate{
documentInteractionController.PresentOpenInMenu(View.Frame, View, true);
});
};
}
public class UIDocumentInteractionControllerDelegateClass : UIDocumentInteractionControllerDelegate
{
UIViewController viewC;
public UIDocumentInteractionControllerDelegateClass(UIViewController controller)
{
viewC = controller;
}
public override UIViewController ViewControllerForPreview (UIDocumentInteractionController controller)
{
return viewC;
}
public override UIView ViewForPreview (UIDocumentInteractionController controller)
{
return viewC.View;
}
public override RectangleF RectangleForPreview (UIDocumentInteractionController controller)
{
return viewC.View.Frame;
}
}
您可以檢測用戶是否選擇在外部應用程序上打開文件? – nhenrique
@nhenrique這是我的理解iOS上的應用程序無法通過設計互相交談。在這方面,不可能檢測用戶是否選擇在外部應用程序上打開文件。如果可能的話,那麼我也想知道它是如何完成的。 –
嗨@ShawnRoser,請看看這個http://stackoverflow.com/questions/30298405/detect-when-user-opens-file-in-app/30304547#30304547。你可以檢測到用戶選擇的應用程序和也許顯示一個加載,直到事件didEndSendingToApplication被調用 – nhenrique