开发者

touchesMoved behavior in iPhone and Simulator

开发者 https://www.devze.com 2022-12-14 23:42 出处:网络
The function touchesMoved behaves differently in iPhone and simulator. The repeating interval (refresh rate) of the function touchesMoved is much faster than simulator. Is 开发者_如何学JAVAthere a wa

The function touchesMoved behaves differently in iPhone and simulator.

The repeating interval (refresh rate) of the function touchesMoved is much faster than simulator. Is 开发者_如何学JAVAthere a way to deal with the difference?


Often people are finding this to be a problem because they are doing something intensive in the touchesMoved handler and when events arrive very frequently, it makes the interface appear to lag.

A relatively simple way to deal with this is: First of all, in the touchesMoved handler, store the touch position in a variable that represents the position of whatever is tracking the finger.

Return from the touchesMoved handler immediately. Create an NSTimer object and set your view controller as a delegate of it and have that do whatever re-drawing/view moving behaviour used to be in your touchesMoved handler. Thus, you get a near constant movement regardless of the time between touchesMoved events.

If you're really advanced you can use a custom NSRunLoop instead of using a timer, but that's more than I can explain here :) The general idea is: don't be doing everything in the touch event handlers.

0

精彩评论

暂无评论...
验证码 换一张
取 消