CGPoints и UIViews - PullRequest
       36

CGPoints и UIViews

0 голосов
/ 09 февраля 2011

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

Ответы [ 2 ]

1 голос
/ 09 февраля 2011

CGPoint - это логическая конструкция, а не графическая.С учетом сказанного ниже будет получена точка, повернутая вокруг другой (называемой точки).Это может не относиться напрямую, но должно дать вам некоторое направление.Ключ - CGAffineTransform.

CGAffineTransform translateTransform = CGAffineTransformMakeTransation(point.x, point.y);
CGAffineTransform rotateTransform = CGAffineTransformMakeRotation(angle);
CGAffineTransform customTransform = CGAffineTransformConcat(CGAffineTransformConcat( CGAffineTransformInvert(translateTransform), rotateTransform), translateTransform);
newPoint = CGPointApplyAffineTransform(initialPoint, customTransform);
0 голосов
/ 09 февраля 2011

CGPoint (например, CGSize или CGRect) являются структурами C и не должны быть "прорисованными".Я имею в виду, что они являются просто математическим представлением координат или геометрическим «материалом», поэтому невозможно добавить их в дерево отображения.

Если вам нужно отобразить «точку» в вашем UIView и вам нужно ее контролировать, просто добавьте дочернего элемента UIView к вашему родителю UIView, имеющего рамку из квадрата 1px с цветным фоном(если вам нужно отобразить его).В этом случае любая пространственная модификация вашего родительского UIView повлияет на ребенка UIView (четное вращение).

В противном случае, если вам нужно узнать положение поворота CGPoint на угол относительно другой точкиПожалуйста, обратитесь к этому хорошему ответу, который содержит необходимую вам математику.

Поворот точки на другую точку в 2D

Ciao!

...