GCD延时操作怎么停止并释放?

[复制链接]
128 15
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

//这里执行动画操作
    });


如上所示,我利用上面这个方法实现延时5秒后执行某个动画操作,但如果我想在5秒之前点击按钮停止这个CGD并释放,请问如何做?

举报 使用道具

回复

15 个评论

onlynina1228  新手上路  发表于 2019-3-7 12:17:37  | 显示全部楼层
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

//这里执行动画操作
    });


如上所示,我利用上面这个方法实现延时5秒后执行某个动画操作,但如果我想在5秒之前点击按钮停止这个CGD并释放,请问如何做?

举报 使用道具

回复
zhangh302  新手上路  发表于 2019-3-7 14:11:53  | 显示全部楼层
顶上去

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

举报 使用道具

回复
niliwu  新手上路  发表于 2019-3-7 14:14:49  | 显示全部楼层
不行吧,一个线程一旦开始了就必须完成,不能再中间暂停吧

举报 使用道具

回复
wiindowsxp456  新手上路  发表于 2019-3-7 14:26:16  | 显示全部楼层
弄个bool值,在执行动画前先看看这个值需不需要执行动画

举报 使用道具

回复
zudo  新手上路  发表于 2019-3-7 14:31:51  | 显示全部楼层
两种方法,1,不用gcd,用NSTimer,2,在block里面加判断


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

举报 使用道具

回复
kaka1234  新手上路  发表于 2019-3-7 14:54:52  | 显示全部楼层
好贴                          。

举报 使用道具

回复
wenwei  新手上路  发表于 2019-3-7 15:35:45  | 显示全部楼层
GCD不是不能控制停止的吗?

举报 使用道具

回复
microbox  新手上路  发表于 2019-3-7 15:46:35  | 显示全部楼层
这个问题楼主最终是怎么解决的呢?能否分享一下

举报 使用道具

回复
ninetoto  新手上路  发表于 2019-3-7 15:53:44  | 显示全部楼层
http://m.blog.csdn.net/article/details?id=51092814
大家可以参考下这个,有用

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

ios.irunthink.com
搜索
热搜: iOS swift 下拉刷新

图文热点

更多

开发教程

更多

客服中心

400-800 周一至周日 9:30-17:30 仅收市话费

关注我们

  • 微信扫描
  • 关注微信
关于我们
关于我们
友情链接
联系我们
帮助中心
精贴推荐
源码上传
注册登录
服务支持
资源下载
关注我们
官方微博
官方空间
快速回复 返回顶部 返回列表