2012-03-14 8 views
5

私はmailkit/twitter/facebookでsharekitを使用しています。私はobjective-cには本当に新しいです。 sharekitはうまく動作し、私のイメージを送信する必要があります。私のアプリでsharekitの "sendDidFinish"の扱い方

私はスクリーンショット機能を持っています。私は、スクリーンショットが撮られたときにアプリを「フリーズ」し、sharekit-actionの背後にあるシーンにシェイクイベントやタッチイベントを送信しないようにしたい。

[SHKTwitter shareItem:item]; 

vereythingがここまで」正常に動作しますように私は、その指定されたサービスのshareItem-メソッドを呼び出す三つのボタンがあり、私のスクリーンショット層で 。しかし、今の送信が終了(またはキャンセルまたはエラー状態)であるとき、私は「凍結解除」にアプリが必要、sharekitは、どのタッチを聴いたり、再びアクションを振るために許可されている私のアプリを教えてください。

私は申し訳ありませんが、私はここでデリゲートを使用するコンセプトを理解していないと思います。私は、 'sendDidFinish'はデリゲートの内部にあることを意味していますか?もしそうなら、どのように私はその代表者であるsharekitに話すことができますか?または(SHKItemやSHKFacebookのような)send-serviceクラスを編集する必要がありますか?

この質問を掲載しdownrateしないでください。私は本当にこの謎を取り戻したいと思っています...

答えて

12

SHKTwitterは、SHKSharerから継承したSHKOAuthSharerを継承しています。 SHKSharerには、 "SharerDelegate"という代理プロトコルがあります。

だから、SHKTwitterのインスタンスを使用することができ、その後としてのデリゲートを設定します。

shkTwitterInstance.shareDelegate = yourDelegateObject. 

そして、デリゲートメソッドに

- (void)sharerFinishedSending:(SHKSharer *)sharer;. 

を実装することをお試しください。

EDIT(その他、多くの人気、SOLUTION)

また、あなたはSHKTwitterオブジェクトから "SHKSendDidFinish" 通知にあなたのオブジェクトをsuscribeすることができます。

[[NSNotificationCenter defaultCenter] addObserver:yourObject selector:@selector(theMethodthatYouWantToExecuteWhenTheNotificationIsRaised:) name:@"SHKSendDidFinish" object:shkTwitterObject]; 
+2

他の選択肢は、オブジェクトをSHKTwitterオブジェクトからの "SHKSendDidFinish"通知にサスペンドすることです。 – LuisEspinoza

+0

あなたのお返事にお世話になりました!とても簡単に聞こえます:-) 通知を受け取るにはどうしたらいいですか? – headkit

+1

o.k.、私は '[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(あなたのメソッド)の名前:@" SHKSendDidFinish "オブジェクト:nil];' のようなものを見つけました。 – headkit

関連する問題