2

UIActivityViewControllerカスタムUIActivityアイテムを含むアプリを作成して表示します。

UIActivityアイコンをタップすると、下にUIActivityViewControllerスライドし、モーダル ビュー コントローラーが表示されます。ただし、VC を却下すると、UIActivityViewController表示されます。

アクティビティ項目が押されたときにそれを消し、二度と表示されないようにするにはどうすればよいですか?

4

3 に答える 3

2

You need to call the activityDidFinish: method on the chosen UIActivity.

From the docs for UIActivity activityDidFinish::

Discussion
This method dismisses the sharing interface provided by the UIActivityViewController object. If you provided a view controller using the activityViewController method, this method dismisses that view controller too.

You must call this method after completing the work associated with this object’s service. This is true regardless of whether you used the activityViewController or performActivity method to initiate the service. When calling the method, use the Boolean value to indicate whether the service completed successfully.

于 2013-03-18T15:08:33.610 に答える
2

アクティビティAが UIActivityVC から選択されたときに、モーダル ビュー コントローラーMを現在のビュー コントローラーCに表示するとします。

Aのメソッドを実装する場合は、モーダル ビュー コントローラーMの却下メソッド -(UIViewController*)activityViewControllerを呼び出す必要があります。[A activityDidFinish]

Aのメソッドを実装する-(void) performActivityと、現在のビュー コントローラーCが を破棄中のため、モーダル ビューを表示することはできませんUIActivityVC

最終的な解決策は少し難しいと思います。私の基本的なアイデアは、メソッドをサブクラス化UIActivityViewControllerしてオーバーライド-(void) viewDidDisappearすることです。したがって、現在のView Controller Cで好きなことを行うことができます(つまり、独自のモーダルビューを表示したり、他のView Controllerのシーケンスをプッシュしたり).

于 2013-06-21T08:52:56.040 に答える
0

私はこれをイーサン・フアンによって見つけました

        [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/

于 2014-09-04T13:17:12.057 に答える