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を実行すると、ニードルはうまく回転しますが、高すぎる位置にあります。 isHelpfulが実行されると、針はさらに右に移動します。 – Tanoro