2016-08-02 3 views
2

Я работаю над приложением Atlas, в котором я показываю карту, которую я могу масштабировать и панорамировать, используя pdf-файл. Для этого я использую vfr reader, и он отлично работает. Я хочу обнаружить местоположение касания, чтобы я мог выбрать правильное состояние. Я получаю правильный координат, когда точка зрения не масштаб, панорамирования, используя код ниже:Правильное местоположение касания после масштабирования и панорамирования pdf-рисунка в CATiledLayer поверх UIScrollview в iOS

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [touches anyObject]; 

    CGPoint point = [touch locationInView:theScrollView]; 
} 

Но, когда я увеличить его и панорамировать его, сенсорные изменения местоположения и я не получаю правильное состояние выбрано. Как я получу правильное выбранное состояние?

ответ

0

На отладку VFR классов читателей я обнаружил, что я могу получить правильное точное местоположение прикосновений в ReaderContentPage класса. Этот класс также дает правильное положение касания после масштабирования. Вы можете получить точку в методе processingSingleTap, как показано ниже:

- (id)processSingleTap:(UITapGestureRecognizer *)recognizer 
{ 
    CGPoint point = [recognizer locationInView:self]; 
} 

CGPoint точка дает правильное расположение сенсорному. Затем используйте метод делегата, чтобы получить правильные координаты в требуемом классе.