簡體   English   中英

如何逐步旋轉UIImageView?

[英]How do I incrementally rotate a UIImageView?

我需要使用以下代碼在90度內多次旋轉圖像,

CGAffineTransform transform = CGAffineTransformMakeRotation(PI/2);
shape.transform = transform;

這里的形狀是我的UIImageview。

問題是每次我單擊“旋轉”按鈕時,它都會從其原始位置旋轉,這不是我想要的。 我希望它從新位置旋轉。

我是iphone編程的新手,如果我對某些非常基本的內容不滿意,我們深表歉意。在此先感謝您的幫助。

基達

如果要為旋轉動畫制作動畫,則可能需要閱讀這個問題的回答 ,即有人試圖為視圖的增量旋轉動畫制作動畫。 事實證明,使用CABasicAnimations進行轉換的增量動畫比您預期的要復雜一些。 您首先需要從UIView圖層的presentationLayer讀取當前的變換,然后將其作為fromValue饋入動畫。

但是,在您的情況下,您似乎正在使用UIView動畫塊為視圖的transform屬性設置動畫。 您編寫的代碼將僅將視圖的變換設置為相同的90度旋轉,而不會以90度的步長增量旋轉視圖。 要進行增量輪換,我相信您需要以下內容:

CGAffineTransform transform = CGAffineTransformRotate(shape.transform, M_PI / 2.0f);
shape.transform = transform;

它將獲取視圖的當前變換,將其旋轉90度,然后將生成的變換應用於視圖。 同樣,這可能會遇到與CABasicAnimations相同的問題,在這種情況下,您應該查閱上面鏈接的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM