如何用 CADisplayLink 替换 NSTimer?

Posted

技术标签:

【中文标题】如何用 CADisplayLink 替换 NSTimer?【英文标题】:how to replace NSTimer with CADisplayLink? 【发布时间】:2011-06-16 05:44:05 【问题描述】:

我使用 NSTimer 调用 doPoof 方法如下:

[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(doPoof:) userInfo:myCALayer repeats:FALSE];

如何使用 CADisplayLink 而不是 NSTimer 替换上述内容?

【问题讨论】:

【参考方案1】:

为什么要放弃 NSTimer?

使用CADisplayLink的目的是让动画可以根据视频刷新间隔定时。

对于一个简单的、不重复的调用,NSTimer 是完全有效的。

【讨论】:

好吧,我一直在尝试使用精灵表来调试我的动画问题。我猜我遇到的问题是 NSTimer 不够准确,有时我的动画不会在应该的时间准确命中,这会导致错误的 contentsRect 并只显示我的精灵表的中间部分而不是一块它应该被切断....我想尝试 CADisplayLink 希望它可能会有所帮助。

以上是关于如何用 CADisplayLink 替换 NSTimer?的主要内容,如果未能解决你的问题,请参考以下文章

如何用加号“+”号替换空格

如何用 setKeepAliveTimeout 方法替换 UIRemoteNotificationTypeVoip 方法?

如何用 HttpClient 替换 WebClient?

如何用一个字符替换两个字符?

如何用 UISearchBar 替换导航栏?

如何用数字中的点替换逗号(或任何替换)[重复]