2012-01-05 74 views
0

我有一个图像旋转以面对用户的touchLocation,但因为UIImageView的边框变大。这破坏了一些碰撞检测。当旋转时更改UIImageview的边框

我唯一的计划是编码一个新的边界框系统,以获得边界框中的每个4点并旋转自己,然后为此写入检查碰撞代码。

但在我这样做之前,有没有简单的方法来做到这一点?

我的旋转代码:

- (void)ObjectPointAtTouch{ 

    //Get the angle 
    objectAngle = [self findAngleToPoint:Object :touchLocation]; 

    //Convert to radian, +90 for image alignment 
    double radian = (90 + objectAngle)/(180/M_PI); 

    //Transform by radian 
    Object.transform = CGAffineTransformMakeRotation(radian); 
} 

回答

0

我想通了,在其他教程看到他们也调整规模过跳动框来解决这个问题。 CGAffineTransform规模我认为是。

+0

请注意,转换的'UIView'的'frame'属性是未定义的,应根据文档忽略。在实践中,它是边界矩形,这对你来说不会有太大的好处。 – fzwo 2012-01-19 11:43:27