看板 MacDev 關於我們 聯絡資訊
不好意思請教一下 我做了一個按鈕 按下去後會前往 ShareViewController 在 ShareViewController 中有按鈕可以選擇要用什麼方式分享內容 像是按下 twitter 的按鈕會有個 Action: let composer = SLComposeViewController(forServiceType: SLServiceTypeTwitter) composer.setInitialText(self.restaurant.name) composer.addImage(UIImage(data: self.restaurant.image)) self.presentViewController(composer, animated: true, completion: nil) 到這裡都可以正常跳出 SLComposeViewController 讓我分享出去 可是我想要讓使用者分享完以後 離開 ShareViewController 回到原來的 ViewController 所以在這個 Action 後面加上: self.dismissViewControllerAnimated(true, completion: nil) 結果按下 twitter 按鈕後分享用的 SLComposeViewController 就不會出現了 插入一些中斷點 發現應該是出現的瞬間就 dismiss 不見了 也就是這個dismiss 應該是把 SLComposeViewController 關閉 而不是關閉 ShareViewController 請問要怎麼做到讓 SLComposeViewController 出現 然後在使用者分享完以後能正確的離開 ShareViewController 呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.29.35.4 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1441176670.A.6A4.html
darktt: SLComposeViewController有completionHandler,應該在 09/02 15:48
darktt: 它callback的時候dismiss 09/02 15:49
感謝 OK了 一開始還想說這樣還是只會把 SLComposeViewControllerResult dismiss 後來才想到再 dismiss 一次就好了XD tweetComposer.completionHandler = {(result: SLComposeViewControllerResult) in self.dismissViewControllerAnimated(true, completion: nil) self.dismissViewControllerAnimated(true, completion: nil) } ※ 編輯: iPhoneX (163.29.35.4), 09/02/2015 16:07:33