Координаты четырех точек поворота, которые были повернуты - PullRequest
2 голосов
/ 08 ноября 2011

Возможно ли это получить?Если да, может кто-нибудь сказать, пожалуйста, как?

Ответы [ 2 ]

3 голосов
/ 08 ноября 2011
  • Получите четыре точки рамки вашего взгляда (view.frame)
  • Получите CGAffineTransform, примененный к вашему виду (view.transform)
  • Затем примените это же аффинное преобразование к четырем точкам, используя CGPointApplyAffineTransform (и методы-братья из CGAffineTransform Reference )
1 голос
/ 09 ноября 2011
CGPoint topLeft = view.bounds.origin;
topLeft = [[view superview] convertPoint:topLeft fromView:view];

CGPoint topRight = CGPointMake(view.bounds.origin.x + view.bounds.width, view.bounds.origin.y);
topRight = [[view superview] convertPoint:topRight fromView:view];

// ... likewise for the other points

Первая точка находится в координатном пространстве вида, которое всегда "вертикально".Затем следующий оператор находит точку, которой соответствует точка в координатном пространстве родительского представления.Обратите внимание на нетрансформированное представление, которое будет равно view.frame.origin.Вышеуказанные вычисления дают эквивалент углов view.frame для преобразованного вида.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...