Как преобразовать координаты окна относительно определенного вида? - PullRequest
5 голосов
/ 25 мая 2010

Пример: у меня CGPoint в координатах окна:

CGPoint windowPoint = CGPointMake(220.0f, 400.0f);

Существует aView, у которого есть суперпредставление в суперпредставлении в суперпредставлении. Где-то глубоко в иерархии представлений, возможно, даже несколько раз трансформировались.

Когда вы получаете UITouch, вы можете запросить у него -locationInView: и он вернет координаты относительно этого представления.

Мне нужно почти то же самое. Есть ли простой способ сделать это?

Ответы [ 2 ]

11 голосов
/ 25 мая 2010

Я нашел действительно простое решение:

[self.aView convertPoint:windowPoint fromView:self.window];
0 голосов
/ 25 мая 2010

Возможно, вы могли бы выполнить итерацию по дереву суперпредставлений, детализировать подпредставления по тегу и добавить или вычесть значения frame.origin подпредставления, чтобы получить переведенный windowPoint относительно frame.origin представления представления интереса.

...