16

私はこれらのプロトコルメソッドを持っています、

activityViewControllerPlaceholderItem:activityViewController:itemForActivityType:

しかし、彼らは決して呼び出されません。に電話するように伝えるにはどうすればよいUIActivityViewControllerですか?

UIActivityItemProviderサブクラスもありますが、誰がこれら 2 つのメソッドを呼び出すかについて混乱しています。ウェブ上で何も見つからないため、サンプルコードをいくつかいただければ幸いです。:)

4

4 に答える 4

30

ビューコントローラーが問題なくても、好きな場所にプロトコルを実装できます。で activityViewController をインスタンス化するだけinitWithActivityItems:@[self]です。

于 2012-10-06T21:59:23.977 に答える
17

ドキュメントによると。渡すアクティビティ項目の配列は
-initWithActivityItems:applicationActivities:、文字列や画像などのデータ オブジェクトの配列にすることも、UIActivityItemSourceプロトコルを実装するオブジェクトの配列にすることもできます。

UIActivityItemSourceプロトコルを実装するオブジェクトの配列を渡すと、のインスタンスがUIActivityViewControllerアクティビティ アイテムでこれらのメソッドを呼び出します。これらのオブジェクトは、必ずしも のサブクラスである必要はありませんUIActivityItemProviderUIActivityItemProviderこのプロトコルに準拠する単なるクラスです。

于 2012-10-04T10:27:58.787 に答える