我使用sharekit和mail / twitter / facebook,我对objective-c很新。 sharekit运行良好,并按照它应该发送我的图像。
在我的应用程序中我有截屏功能。我希望应用程序在拍摄屏幕截图时“冻结”,停止向sharekit-action后面的场景发送任何摇动或触摸事件。 在我的屏幕截图层中,我有三个按钮,它们调用指定服务的shareItem方法,如
[SHKTwitter shareItem:item];
vereything工作得很好'直到这里。但现在当发送完成(或取消或出错)时,我需要应用程序“解冻”,sharekit应告诉我的应用程序,允许再次听取任何触摸或动作。
我很抱歉,但我认为我不明白在这里使用委托的概念。我的意思是,'sendDidFinish'是否属于代表?如果是这样,我怎么能告诉sharekit谁是它的代表呢?或者我是否必须编辑发送服务类(如SHKItem或SHKFacebook)本身?
请不要因为这个问题而低估我。我真的想要落后这个谜......
答案 0 :(得分:12)
SHKTwitter继承自SHKSharer继承的SHKOAuthSharer。 SHKSharer有一个名为“SharerDelegate”的委托协议。
因此,您可以使用SHKTwitter的实例,然后将其委托设置为:
shkTwitterInstance.shareDelegate = yourDelegateObject.
实现委托方法
- (void)sharerFinishedSending:(SHKSharer *)sharer;.
试试。
编辑(其他,更受欢迎,解决方案)
此外,您可以将您的对象设为SHKTwitter对象的“SHKSendDidFinish”通知。
[[NSNotificationCenter defaultCenter] addObserver:yourObject selector:@selector(theMethodthatYouWantToExecuteWhenTheNotificationIsRaised:) name:@"SHKSendDidFinish" object:shkTwitterObject];