0
我在我的應用程序中使用了米。儀表有一根針,它可以根據我傳給它的一組布爾旋轉到目前爲止。問題是,我正在讓針正確旋轉時遇到很多麻煩。圍繞預先確定的軸旋轉圖像
needle.layer.anchorPoint = CGPointMake(0.85, 0.5); // Set point of rotation
if(isHelpful == true)
{
// rotate only a little
needle.transform = CGAffineTransformMakeRotation(7*M_PI/180);
}
if(isNeeded == true)
{
// rotate 95 degrees
needle.transform = CGAffineTransformMakeRotation(95*M_PI/180);
}
if(isCritical == true)
{
// rotate 175 degrees
needle.transform = CGAffineTransformMakeRotation(175*M_PI/180);
}
這使針移動完美,但它也因爲某種原因改變其位置,移動我的筆尖。我需要圖像留在我的筆尖上的相同位置,並圍繞特定軸旋轉到我確定的程度。
圖片是145x36,其軸點是127x18。
我可能一直不清楚我的解釋。你可以從上面的代碼中看到,無論做什麼旋轉,anchorPoint應該是相同的。奇怪的是,雖然anchorPoint對於所有旋轉都是相同的,但在運行時針的位置卻完全不同! 如果isCritical執行,針是在完美的地方,並完美旋轉。如果執行isNeeded,則針旋轉良好,但定位太高且太靠左。如果是有幫助的話,針頭甚至更靠右。 – Tanoro