当UITableView滚动时,UITableViewCell动画停止

 失败人一枚 发布于 2023-02-12 18:44

我正在我的应用程序中创建一个"事件倒计时"场景,该场景使用UITableViewController来显示将来发生的事件列表.在每个单元格中,我有一个倒数计时器,它会计算事件发生前的时间.

在此输入图像描述

我想为这些倒计时字段设置动画,以便实时记下这些字段.我已经实现了这个动画,但问题是当用户滚动uitableview时动画暂停,直到用户释放滚动.我希望动画即使在滚动时也能继续.

我动画的方式是每隔0.25秒在NSTimer上调用[self.tableview reloadData](我知道这不是最有效的方法 - 这更像是测试动画本身).我还尝试在UITableViewCell本身内运行NSTimer调用视图更新 - 但滚动时仍然会暂停动画.

任何人都知道调用动画的设置或替代方式,以便在滚动时保持它的运行状态?

1 个回答
  • 更多关于UIScrollViews的同一问题的搜索引发了我的帖子我的自定义UI元素......

    基本上发生的事情是我正在使用的NSTimer在滚动时没有被更新,因为滚动阻止了它自己的运行循环模式之外的所有内容.修复是将动画NSTimer添加到滚动使用的相同运行循环模式:NSRunLoopCommonModes

    以下是如何在代码中执行此操作:

    NSTimer *timer = [NSTimer timerWithTimeInterval:0.25 self selector:@selector(updateCountdownLabels) userInfo:nil repeats:YES]; 
    [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
    

    2023-02-12 18:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有