簡體   English   中英

圖像在iOS中以3D模式在圖像視圖中旋轉360度

[英]Image Rotate in image view 360 degree in 3D in iOS

我正在開發一個應用程序,在該應用程序中,我希望UIImage在3個維度上以360度旋轉UIImageview。 我嘗試了很多代碼,但是所有帶有CAAnimation的代碼都會順時針旋轉整個圖像或翻轉整個圖像視圖。 那么,我該如何開發這種功能呢?

在Swift中,您可以使用以下代碼進行無限旋轉: Swift-

let kRotationAnimationKey = "com.myapplication.rotationanimationkey" // Any key

func rotateView(view: UIView, duration: Double = 1) {
    if view.layer.animationForKey(kRotationAnimationKey) == nil {
        let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation")

        rotationAnimation.fromValue = 0.0
        rotationAnimation.toValue = Float(M_PI * 2.0)
        rotationAnimation.duration = duration
        rotationAnimation.repeatCount = Float.infinity

        view.layer.addAnimation(rotationAnimation, forKey: kRotationAnimationKey)
    }
}

停止就像:

func stopRotatingView(view: UIView) {
    if view.layer.animationForKey(kRotationAnimationKey) != nil {
        view.layer.removeAnimationForKey(kRotationAnimationKey)
    }
}

目標C

這對我來說非常合適:iPhone UIImageView旋轉

#import <QuartzCore/QuartzCore.h>

    - (void) runSpinAnimationOnView:(UIView*)view duration:(CGFloat)duration rotations:(CGFloat)rotations repeat:(float)repeat;
    {
        CABasicAnimation* rotationAnimation;
        rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
        rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 /* full rotation*/ * rotations * duration ];
        rotationAnimation.duration = duration;
        rotationAnimation.cumulative = YES;
        rotationAnimation.repeatCount = repeat;

        [view.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
    }

暫無
暫無

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

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