Ome*_*mer 16 iphone ipad ios uidocumentinteraction ios6
由于新的SDK是释放(iOS 6中),委托方法documentInteractionController:canPerformAction:的UIDocumentInteractionControllerDelegate已弃用.
使用该方法,你能阻止默认操作,如print:和copy:出现.
该方法在当前版本的iOS 6中调用,但在将来的版本中,此方法将不会被调用,我的应用程序将显示我不想支持的操作.
我阅读了UIDocumentInteractionController及其委托的可用文档,我无法找到另一种方法来执行我在canPerformAction方法中所做的工作.
有任何想法吗?
作为一个加号,能够过滤邮件或推特等应用程序(默认情况下显示)会很棒,但我想这是不可能的.
同意在委托中弃用'canPerformAction'很麻烦,我们失去了以前的细粒度控制.
但是,如果你想要的只是允许在另一个应用程序中打开文档,并想要删除复制,打印甚至邮件,我想你最好使用OpenIn方法版本来呈现UIDocumentInteractionController?
即供您UIDocumentInteractionController使用presentOpenInMenuFromBarButtonItem:animated:或presentOpenInMenuFromRect:inView:animated:
(而不是presentOptionsMenuFromBarButtonItem:animated:或presentOptionsMenuFromRect:inView:animated:)
这样,默认情况下,它只会显示可以打开文档的应用程序,并隐藏邮件,复制和打印.
我认为这是因为Apple希望您使用新的UIActivity控件.
这是文档:
这是为支持许多第三方应用而开发的自定义控件:
http://www.cocoacontrols.com/platforms/ios/controls/uiactivitycollection
这个问题解决了你如何制定自己的UIActivity:
所以,如果你不希望用户可以使用copy:和print:方法只是将这些活动传递给UIActivityViewController,如下所示:
[activityView setExcludedActivityTypes:[NSArray arrayWithObjects:UIActivityTypeCopyToPasteboard, UIActivityTypePrint, nil]];
Run Code Online (Sandbox Code Playgroud)
所有默认活动都列在Apple文档链接的底部.
| 归档时间: |
|
| 查看次数: |
9996 次 |
| 最近记录: |