2012-04-08 77 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