Я работаю над приложением для чтения PDF. Я использую CALayer для рендеринга содержимого PDF. Я использовал жест смахивания для перемещения по страницам. Проблема в том, что пользователь пытается перейти на следующую или предыдущую страницу один раз.рендеринг слоя начался, действие «переход на следующую страницу» выполняется после завершения рендеринга текущей pdf-страницы на слое. Я хочу, чтобы рендеринг текущей страницы был немедленно остановлен, как только произойдет свайпи следующая страница должна начать рендеринг на layer.any идею, пожалуйста, помогите.
ОБНОВЛЕНИЕ: вот мой код
-(void)loadSinglePageWithWidth:(float)width andHeight:(float)height{
draw=0;
NSLog(@"before draw");
[markupView.layer insertSublayer:renderingLayer1 above:tiledLayer1];
loadingThread=[[NSThread alloc] initWithTarget:self selector:@selector(loadSinglePage) object:nil];
[loadingThread start];
}
-(void)loadSinglePage{
[renderingLayer1 setNeedsDisplay];
}
как только я проведу, в моем методе действия код будет написан как
[loadingThread cancel];
[loadingThread release];
loadingThread=nil;
даже если я отменяю «loadingThread», выполнение drawLayer: метод, кажется, выполняется. Я корректен с этим подходом потока? Будет ли drawLayer: код будет выполняться потоком, который я использую для вызова метода setNeedsDisplay?