我正在尝试制作一个应用程序来查看 PDF 并将其保存在 iBooks 中,邮寄并打印。现在我正在使用以下代码:
if (UIDevice.CurrentDevice.CheckSystemVersion(6, 0))
{
AppDelegate appDelegate = (AppDelegate)UIApplication.SharedApplication.Delegate;
//url to local PDF
var items = new NSObject[] { NSData.FromFile(_pdfUrl) };
var activityController = new UIActivityViewController(items, null);
activityController.ExcludedActivityTypes = new NSString[]
{
UIActivityType.AssignToContact,
UIActivityType.Message,
UIActivityType.PostToFacebook,
UIActivityType.PostToTwitter,
UIActivityType.PostToWeibo,
UIActivityType.CopyToPasteboard,
UIActivityType.SaveToCameraRoll
};
PresentViewController(activityController, true, null);
}
当我按下按钮执行此代码时,我看到了视图控制器,但只有邮件和打印(在带有 iBooks 的设备上测试)。我的问题是:“在 iBooks 中打开”是我必须自己添加的吗?还是我做错了什么?
另一个问题是在 iOS5 中做同样的事情时,我使用 UIDocumentInteractionController:
UIDocumentInteractionController doc = UIDocumentInteractionController.FromUrl(new NSUrl(_pdfUrl, false));
doc.WeakDelegate = this;
doc.PresentOptionsMenu(btn.Frame, this, true);
但什么也没发生(iPhone 模拟器,没有装有 iOS 5 的设备)。在另一篇文章中,有人说如果设备上没有 iBooks,什么都不会发生。但是邮件和打印呢?
有人可以帮我解决这个问题吗?
提前致谢
编辑:
在 iOS 6 中使用此代码可以完美运行:
UIDocumentInteractionController doc = UIDocumentInteractionController.FromUrl(new NSUrl(_pdfUrl, false));
doc.WeakDelegate = this;
doc.PresentOptionsMenu(btn.Frame, this, true);
编辑:
我正在寻找一种使用 UIDocumentInteractionController 在 iOS5 上显示邮件和打印的方法。有什么想法吗?