我在我的應用程序中創建並提供了UIActivityViewController
,其中包含自定義UIActivity
項。何時以及如何解除UIActivityViewController
當我點擊UIActivity
圖標,UIActivityViewController
滑落並呈現我的模態視圖控制器。但是,當我解僱我的VC時,出現了UIActivityViewController
。
當活動項目被按下時,我怎樣才能讓它消失,再也不會再出現?
我在我的應用程序中創建並提供了UIActivityViewController
,其中包含自定義UIActivity
項。何時以及如何解除UIActivityViewController
當我點擊UIActivity
圖標,UIActivityViewController
滑落並呈現我的模態視圖控制器。但是,當我解僱我的VC時,出現了UIActivityViewController
。
當活動項目被按下時,我怎樣才能讓它消失,再也不會再出現?
您需要撥打所選UIActivity
上的activityDidFinish:
方法。
從文檔爲UIActivity activityDidFinish:
:
討論
此方法駁回由UIActivityViewController
對象提供的共享界面。如果您使用activityViewController
方法提供視圖控制器,則此方法也會取消該視圖控制器。您必須在完成與此對象的服務關聯的工作後調用此方法。無論您是使用
activityViewController
還是performActivity
方法啓動服務,情況都是如此。在調用方法時,使用布爾值指示服務是否成功完成。
什麼時候應該調用activityDid完?當我在VC提交時調用它時,VC被解僱,之後UIActivityVC下滑。另一個問題:我不想讓我的風投知道誰在介紹它。理想情況下,應該在UIActivityVC中呈現ViewControllerWillBeDismissed方法,這樣我也可以解散UIActivityVC。 – msmialko 2013-03-19 11:10:59
你不會解僱你的VC。當用戶完成VC時,你可以在活動上調用'activityDidFinish:'。正如我引用的文檔中所述,這將駁回風險投資和活動觀點。 – rmaddy 2013-03-19 16:00:09
如果您想完全控制VC何時以及如何呈現和解散,請在您的活動中儘快調用「activityDidFinish:」。然後自己出示VC,而不是從活動中返回。那麼,當然,你適當的時候會解僱它。 – rmaddy 2013-03-19 16:02:08
讓當活動一個從UIActivityVC選擇,要在當前視圖控制器Ç呈現模式視圖控制器中號說。
如果實現一個的-(UIViewController*)activityViewController
方法,你需要調用[A activityDidFinish]
在模態視圖控制器中號的解僱法;
如果實現甲的-(void) performActivity
方法,這是不可能的呈現模態的視圖,因爲當前視圖控制器Ç是駁回UIActivityVC
的過程。
我認爲最終的解決方案有點棘手。我的基本思想是將UIActivityViewController
分類並覆蓋-(void) viewDidDisappear
方法。因此,你可以做任何你喜歡(即展示自己的模式的看法,或按其他視圖控制器的序列)在當前視圖控制器C.
我有一個問題從視圖控制器M回來,試圖提出AddScreen:在WBTabBarController:它已經呈現UIActivityViewController,是因爲我不關閉uiactivityVC? – Skovie 2013-12-05 17:04:34
我也面臨着與skovie相同的問題。 @skovie你找到了這個 – 2014-09-04 12:07:23
的任何解決方案我沒有閱讀代碼,但我想這是同樣的問題,因爲當前的模態視圖控制器沒有被解僱時,試圖呈現模態視圖控制器,嘗試提出第二模態視圖控制器時,第一模態視圖控制器的' - (void)viewDidDisappear' – 2014-09-11 02:41:54
,我發現這個由阮經黃
[self presentViewController: activityController animated: YES completion:nil];
activityController.modalPresentationStyle = UIModalPresentationPopover;
UIPopoverPresentationController *popPC = activityController.popoverPresentationController;
popPC.barButtonItem = saveBtn;
popPC.permittedArrowDirections = UIPopoverArrowDirectionAny;
讀取所有約在這裏:
http://getnotebox.com/developer/uiactivityviewcontroller-ios-8/
你讀這個公認的答案post..i覺得它確實有助於you..http://stackoverflow.com/questions/14570753/lack-of-a-close- button-on-uiactivityviewcontroller – Shivaay 2013-03-19 06:48:12