2017-01-10 98 views
0

添加自定義項,當我打開從iPhone或iPad郵件應用程序的附件,也可以在文件transfert給第三方應用程序彈出。如何UIActivityViewController

這個iOS的彈出被稱爲UIActivityViewController。

我的魔杖在這個彈出添加自己的iPhone應用程序(寫在SWIFT),我不知道該怎麼辦......

感謝

+0

這是[指南](https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/) – Daniel

+0

謝謝,但我不知道哪個擴展類型與UIActivityViewController相關.. 。 – Bob5421

回答

1

我相信你是問有關兩回事。

UIActivityViewController:

這是我在我的應用程序代碼。

let vc = UIActivityViewController(activityItems: [shareImage], applicationActivities: []) 
vc.excludedActivityTypes = [ 
    UIActivityType.airDrop, 
    UIActivityType.assignToContact, 
    UIActivityType.addToReadingList, 
    //UIActivityType.copyToPasteboard, 
    //UIActivityType.mail, 
    //UIActivityType.message, 
    //UIActivityType.openInIBooks, 
    //UIActivityType.postToFacebook, 
    //UIActivityType.postToFlickr, 
    UIActivityType.postToTencentWeibo, 
    //UIActivityType.postToTwitter, 
    UIActivityType.postToVimeo, 
    UIActivityType.postToWeibo, 
    UIActivityType.print, 
    //UIActivityType.saveToCameraRoll 
] 
present(vc, 
     animated: true, 
     completion: nil) 
vc.popoverPresentationController?.sourceView = self.view 
vc.completionWithItemsHandler = {(activity, success, items, error) in 
} 

,請注意excludedActiviyTypes代碼。我的應用程序是一個圖像效果應用程序,因此我評論了我希望在彈出窗口中顯示的內容 - 微博,打印,assignToContact,ReadingList,Vimeo和TencentWeibo。這是事情 - 我保留完整的活動列表以供快速參考。 (我從來沒有在ADC上找到它,並最終通過使用代碼完成它。)

UIActivityType是一個擴展結構,所以如果你想要走這條路的方式,我想你必須(1)亞類UIActivityViewController,(2)編寫自己的擴展UIActivityType,和(3)提供任何/以使用沒有在上面列出服務所需要的所有代碼。

一個Document Provider是什麼,我認爲你正在尋找。要麼是,要麼是Universal - sometimes called Deep - Linking。 (該鏈接是蘋果的文檔使用每個)

我明明用UIActivityiewController,但還沒有(還)有任何需要這些其他兩種。

如果您有關於設立UIActivityViewController問題,張貼在他們的意見。如果其他人有辦法以其他方式「擴展」它,請告訴我,我將刪除此答案。

相關問題