2013-10-31 42 views
0

這是我正在使用的代碼左移遞增:CGAffineTransformRotate保持與每一個順時針旋轉

[UIView的animateWithDuration:0.5延遲:0選項:UIViewAnimationOptionCurveEaseInOut 動畫:^ {

     wheel.transform = CGAffineTransformRotate(wheel.transform, 0.57); 

              } 
       completion:^(BOOL finished) { 

       }]; 

自動佈局被關閉,所以它不是原因。 我希望你們幫我弄清楚這個問題的原因。 謝謝:)

回答

1

問題是由IB產生的約束引起的。如果你沒有設置它,它會產生左,頂,寬和高的約束,左/上導致旋轉後視圖的中心移動,以保持頂部/左邊的角落。

enter image description here enter image description here enter image description here

必須設置手動的centerX,centerY,寬度和高度的限制,以保持旋轉時的固定的視圖的中心。

enter image description here

+0

對不起,我遲到了回覆您的答案。我剛打開了我的MB。添加約束條件需要啓用自動佈局,並且在我看來,它確實會造成很多混亂。除了那個,你認爲我應該怎麼做?順便謝謝你的回答。 – user2828182

+0

您也可以試試這個: ''wheel.layer setAffineTransform:CGAffineTransformRotate(wheel.layer.affineTransform,0.57)];' – imihaly

+0

再次感謝您的回覆。我試過你提供的代碼,沒有任何改變。與以前相同的結果,但現在我明白到底發生了什麼。車輪不會從其位置移動,但是我指定的旋轉值在每次車輪順時針旋轉時都會減小,因此這就是爲什麼它似乎向左移動。這可能是Xcode 5中的一個錯誤,或者是因爲我真的不知道發生了什麼事情! – user2828182