6

新しい iOS 6 では、Apple は新しい UIActivityViewController (画像 A) 共有メニューを追加しました。これには、古い UIActionSheet テキスト ボタンだけではなく、共有するアイコン ボタンがほとんどありません。

UIActivityViewController を表示したいのですが、カスタム ボタンを使用します。表示できるデフォルトのアプリケーション (メール、メッセージ、Facebook、Twitter など) のリストがあることは知っていますが、これらのボタンをクリックしたときの動作をカスタマイズしたいと考えています。メール共有アイコンをクリックすると、メール アプリが開き、新しいメッセージが表示されます。例として、メール アプリをクリックすると、Twitter アプリが開きます (実際にはそうではありませんが、デフォルトとは異なるだけです)。 . 現在、ボタンの背後に独自のメソッドを追加する方法が見つからないようです。

最新の ShareKit では Instagram 共有が追加されており、共有を選択すると、UIActivityViewController 画面 (画像 B) とまったく同じように見える新しいビューが表示されます。彼らは、カスタムのことを行うカスタム ボタンを追加する方法を考え出したようです。ShareKit コードを検索しましたが、これがどこでどのように機能しているかがわかりません。

たぶん私が求めていることはまだ可能ではないかもしれませんが、助けていただければ幸いです!

画像A画像A

画像B画像B

4

4 に答える 4

9

このリンクを見てください。これは、iOS 6 での共有に関するかなり良い入門書です。

以下の引用は、このブログ投稿からのものです。

独自のカスタム共有オプションのサポートを追加UIActivityViewControllerして、ユーザーとのやり取りを処理することもできます. これを行うには、抽象UIActivityクラスをサブクラス化し、必要なメソッドをオーバーライドします (詳細については、ドキュメントを参照してください)。

于 2012-10-16T07:06:20.253 に答える
2

Sharekit は、使用したい方法でカスタマイズできない抽象化です。Apple は、これらのサービスへのインターフェイスを制御します。

残念ながら、共有とその仕組みをカスタマイズしたい場合は、これらのサービスへの UI と API エントリ ポイントを使用して、独自のバージョンの共有キットを実装する必要があります。

Sharekit が存在するため、これを行う必要はありません。時間の経過とともにニーズが変化するため、Apple は意のままにサービスを追加および削除することを期待しています。

API を「そのまま」使用するのが最も賢明なオプションです。

于 2012-10-16T07:16:49.667 に答える
0

画像 B は実際には、カスタム UIActivity を持つ UIActivityViewController ではなく、Instagrams Documentation Interaction コードを使用しています。Instagram の「フック」について詳しくは、こちらをご覧ください...カスタム iPhone フック

UIActivity は、サード パーティによって作成された Instagram 用の UIActivityです。これは、ここにあります。画像を直接 Instagram に渡す唯一の方法であるため、ShareKit を選択すると、ShareKit と同じメニューが開きます。

于 2012-10-16T19:20:18.030 に答える