2012-04-08 70 views
1

所以之后执行自定义代码,使用iOS5的新Twitter的框架,我们可以简单地发布这个简单的代码更新Twitter:TWTeetComposeViewController发布新的鸣叫

if ([TWTweetComposeViewController canSendTweet]) { 
    TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init]; 
    [tweetSheet setInitialText:@"Tweeting from Steamerduck :)"]; 
    [controller presentModalViewController:tweetSheet animated:YES]; 
} 

不过,我想执行一些自定义代码用户点击发送后,在这里:

enter image description here

是否可以执行一些自定义代码,我自己的一些方法TWTweetComposeViewController发出鸣叫后?

+0

您是否试图将它设置为* AUTO *发送推文?如果这就是你的努力去做,苹果绝不会允许...(垃圾邮件和嘲弄一下是另一个人) – Sirens 2012-04-08 18:04:36

回答

4

您可以指定用户完成构成鸣叫之后被调用完成处理程序。它看起来像这样(我还没有机会在设备上进行测试):

if ([TWTweetComposeViewController canSendTweet]) { 
    TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init]; 
    [tweetSheet setInitialText:@"Tweeting from Steamerduck :)"]; 

    // Set a completion handler to be called when the user is done 
    // composing their tweet 

    [tweetSheet setCompletionHandler:^(TWTweetComposeViewControllerResult result) { 
     if (result == TWTweetComposeViewControllerResultDone) { 
      // Tweet was sent, do something 
     } else if (result == TWTweetComposeViewControllerResultCancelled) { 
      // Do something else if the user cancelled 

      [controller dismissModalViewControllerAnimated:YES]; 
     } 
    }]; 

    [controller presentModalViewController:tweetSheet animated:YES]; 
} 
+0

这是你怎么做,只是一个说明,你可能需要添加在completition处理程序“驳回代码” ,否则你最终不得不双击取消按钮。 – Pochi 2012-04-08 18:30:56

+0

我已经添加解雇代码来完成处理 – mttrb 2012-04-08 18:38:22

+0

的解除部分@mttrb它的工作原理,但它显示在Xcode警告:强烈该块捕捉tweetSheet很可能会导致保留周期... – 2012-04-08 19:46:24