CGPoint вопрос - PullRequest
       15

CGPoint вопрос

1 голос
/ 30 июня 2011

У меня есть два вида: viewA, viewB

Я повернул и увеличил представление A, затем добавил viewB в качестве подпредставления, затем добавил жест к viewB.

Я хочу получить местоположение касания на viewB, относящееся к viewA, учитывая поворот и масштабирование

Я пытался

NSLog(@"Before teh conversion %f" , viewB.endPoint.x ) ; 

CGPoint aPtInScrollView = [viewB convertPoint:viewB.endPoint toView:viewA ]; 

NSLog(@"After teh conversion %f" , aPtInScrollView.x ) ; 

Где endPoint - это точка, которую я сохраняю в ней прикосновением.

Но он возвращает ту же точку, и я хочу увидеть эффект поворота и масштабирования, я имею в виду размер местоположения viewA, .. был изменен, поэтому позиция точки должна быть изменена

viewA и viewB hs начальный кадр [self.view frame]

Любое предложение сделать это?

1 Ответ

0 голосов
/ 30 июня 2011

Поскольку вы говорите, что viewB принимает все границы viewA, это причина, по которой вы получаете ту же точку.

Скажем, у вас есть viewA, чей кадр (10, 10, 40, 40). И вы добавляете подпредставление, чей кадр (0, 0, 40, 40), точка (20, 20) в подпредставлении также будет (20, 20) в viewA. Возможно, вы захотите его в координатном пространстве viewA суперпредставления, где оно будет (30, 30). Для этого вам нужно будет сделать,

CGPoint aPtInScrollView = [viewB convertPoint:viewB.endPoint toView:viewA.superview]; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...