2013-01-07 13 views
5

UIActivityViewControllerで使用される組み込みUIActivityタイプによって実行されるアクティビティをオーバーライドすることはできますか?組み込みUIActivityタイプによって実行されるオーバーライドアクティビティ

たとえば、Facebookのアクティビティでは、組み込みのビューの代わりに自分のカスタムビューを使用したいと考えています。あなた自身のアプリケーション固有のアクティビティを作るためにUIActivityをサブクラス化することはできますが、組み込みのもののデフォルトの動作にいつも縛られていますか?

+0

はい、私はUIActivityをカスタマイズすることができます – Naresh

答えて

5

組み込みのものを上書きすることはできません。あなたができる最善の方法は、それらを無効にしてUIActivityの独自のサブクラスで置き換えることです。機能的には、これをオーバーライドするのと同じ効果があります。

しかし、これは、これらのサービスに独自のアイコン画像を提供する必要があることを意味します。アップル社のコードは、これらの画像を取り込み、カラーデータを破棄し、アルファマップを使用して、グレイスケールの色付きバージョンをAppleの通常のブラックドットの背景に対して設定します。自分のカスタムアクティビティにカラフルな画像を提供することはできません。おそらくこれは、人々が公式のサービスアイコンをコピーして自分たちの目的のために転覆させないようにすることです。

+0

私は唯一の方法だったことを恐れていました。それほど素晴らしいことではありません。 – SeanK

1

組み込みのUIActivityタイプの動作をオーバーライドすることはできません。ただし、独自のUIActivityItemProviderサブクラスを用意することで、取得したデータをオーバーライドできます。 これを上書きする必要があります– activityViewController:itemForActivityType: あなたが探しているものは100%ではありませんが、内蔵のものをあなたの意志に少しでも曲げることができます。

+0

http://stackoverflow.com/questions/26451583/uiactivityview-controller-behaviour-is-strange –

関連する問題