CGPoints和UIViews

时间:2011-02-09 05:23:32

标签: iphone xcode uiview rotation cgpoint

是否可以将一个CGPoint放在UIView中作为子视图,这样当我旋转我的UIView时,CGPoint就会随之旋转。

2 个答案:

答案 0 :(得分:1)

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);

答案 1 :(得分:0)

CGPoint(如CGSizeCGRect)是C结构,不应该是" drawable"。我的意思是他们只是数学表示坐标或几何"东西"然后不可能将它们附加到您的显示树中。

如果您需要显示"点"进入您的UIView并需要控制它,只需将一个子UIView添加到您的父UIView,其中一个1px正方形的框架带有彩色背景(如果您需要显示它)。在这种情况下,对父UIView的任何空间修改都会影响子UIView(甚至是旋转)。

否则,如果你需要知道CGPoint相对于另一个点旋转一个角度的位置,请参考这个包含你需要的数学的好答案。

Rotate a point by another point in 2D

侨!