2012-01-05 33 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