使用非常快速的滑动时出现问题

时间:2011-01-31 07:09:12

标签: iphone objective-c ipad

我正在开发一个pdf阅读器,我必须在手指滑动上加载pdf书的每一页。对于每次滑动,我正在递增一个页面,如果我正在慢慢地滑动它工作正常。如果滑动如此之快它就会崩溃,它根本不起作用。

大家好我用NSobject类引用解决了上面的问题,它只有两行......

[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(loadPagesAccordingToCurrentOrientation) object:nil];
[self performSelector:@selector(loadPagesAccordingToCurrentOrientation) withObject:nil afterDelay:0.5];

2 个答案:

答案 0 :(得分:1)

我无法确定,但感觉您没有考虑一个页面可能没有完成渲染而另一个页面进入管道的用例。

中的一行

loadSinglePageWithWidth:(float)width andHeight:(float)height

myPageRef = CGPDFDocumentGetPage(...

即使包含在@synchronised编译指示中,

也会感觉特别不稳定。

我认为您需要考虑这种情况并取消任何现有的效果图/动画,然后才能开始下一个。

SO不是调试器。

答案 1 :(得分:0)

部分代码用于我的问题

[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(loadPagesAccordingToCurrentOrientation)object:nil];

[self performSelector:@selector(loadPagesAccordingToCurrentOrientation)withObject:nil afterDelay:0.5];