2010-11-25 84 views
1

我正在定期旋轉UIImageView。我的觀點非常基本,是UITabBar視圖集中的一個視圖。如果我在我的旋轉動畫時旋轉我的iPad,那麼我的圖像就會變形。我已經在我的xib文件中檢查了我的圖像中的所有內容,autoresizing已完全關閉,並且我沒有在父視圖上自動調整子視圖的大小。自動旋轉和UIImageView動畫的問題

這裏是我的動畫代碼:

  [UIView beginAnimations:nil context:nil]; 
      [UIView setAnimationDuration:0.5]; 
      [UIView setAnimationDelay:0.0]; 
      transform = CGAffineTransformMakeRotation(convertToRadian(myDegrees)); 
      myImage.transform = transform; 
      [UIView commitAnimations]; 

如果我把我的動畫出來,然後一切正常,我期望的那樣。如果我不旋轉我的設備,此旋轉代碼似乎可以正常工作。

我能做些什麼來保持內置的旋轉動畫不會改變我的動畫並扭曲我的圖像?

回答

0

經過許多不同的嘗試,我最終在這裏做的是在其中添加一個清晰的視圖,並在其中添加旋轉圖像,並在界面構建器中將「自動調整大小子視圖」設置爲關閉。您也可以根據需要在代碼中執行此操作。我不得不添加UIView佔位符,因爲包含我的旋轉圖像的超級視圖需要在旋轉時自動調整其他視圖對象的大小,但是這樣可以修復由於動畫方向變化而造成的圖像時髦傾斜,同時動畫手動旋轉到位。

希望這可以幫助別人。

0

座標系發生變化。我也想到了這一點...認爲我有一個錯誤。如果您保存CG ... GState,則可以恢復到最初使用的座標系。這是在Deitel和Deitel的書中。我剛剛找到它。想要發佈給任何人也期待。

雖然你有一個聰明的把戲!如果這不起作用,我可能會使用它。