【发布时间】:2013-08-02 20:39:58
【问题描述】:
我正在使用以下代码更新 UIView 子类中的自定义 drawRects
NSTimer *timer = [NSTimer timerWithTimeInterval:...
target:...
selector:....
userInfo:...
repeats:...];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
间隔设置为每 1/30 秒重复运行一次以更新我的 UIView。它似乎工作正常,但我所有的 UIScrollViews 都停止“弹跳”,这意味着,如果我将我的 UIScrollView 滚动到内容框架边界之外,它们不会弹回。这只发生在第 4 代 iPod touch 上。在我的第三代 iPad 和我的 iPhone 5 上,我的 UIScrollViews 反弹回内容框架。 有什么想法吗?
【问题讨论】:
-
定时器触发方法有什么作用?
-
同意。而且,根据您的计时器方法正在做什么,您还可以考虑使用
CADisplayLink。顺便说一句,旧设备的并发性存在限制(我预计第 3 代会出现问题),但我认为第 4 代(A4 处理器)会很好。但您列出的其他设备是 A5、A5X 或 A6 处理器。你确定 iPod touch 是第 4 代而不是第 3 代吗? -
@Wain fire 方法在 3 个实例上调用一个方法:
setNeedsDisplay。这 3 个实例实现了一个自定义的 drawRect 方法。 drawRect 使用 UIBezierPath 绘制一个笔画圆。 -
@Rob 100% 确定它是第 4 代 iPod touch。
标签: ios uiscrollview nstimer