作者iPhoneX (iPhoneX)
看板MacDev
标题[问题] twitter 分享後的 dismiss
时间Wed Sep 2 14:51:08 2015
不好意思请教一下
我做了一个按钮 按下去後会前往 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://webptt.com/cn.aspx?n=bbs/MacDev/M.1441176670.A.6A4.html
1F:→ darktt: SLComposeViewController有completionHandler,应该在 09/02 15:48
2F:→ 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