macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

stopAnimation

INDEX>AppKit>NSAnimation

アニメーションをストップさせます

Objective-C

- (void)stopAnimation

Swift

func stopAnimation()

解説

アニメーションをストップさせます。

返り値

なし

引数

なし

フレームワーク

ApplicationKit

クラス

NSAnimation

使用可能

10.4

関連記事(外部サイト)

例文

Objective-C

Swift

//アニメーション
    func animation(animation: NSAnimation, didReachProgressMark progress: NSAnimationProgress) {
        
        if (animation == theAnim001?){
            NSLog("theAnim001")
        }
        if (animation == theAnim002?){
            NSLog("theAnim002")
        }
        if (animation == theAnim003?){
            NSLog("theAnim003")
            var returnValue = theAnim003.runLoopModesForAnimating?
            if ((returnValue) != nil){
                for mode : AnyObject in returnValue! {
                    NSLog("!! %@",mode as NSString)
                }
            }
        }
        if (animation == theAnim004?){
            NSLog("theAnim004")
        }
        if (animation == theAnim005?){
            NSLog("theAnim005")
        }
        if (animation == theAnim006?){
            NSLog("theAnim006")
        }
        if (animation == theAnim007?){
            NSLog("theAnim007")
        }
        if (animation == theAnim008?){
            NSLog("theAnim008")
        }
        if (animation == theAnim008?){
            NSLog("theAnim008")
        }
        if (animation == theAnim009?){
            NSLog("theAnim009 %.1f",theAnim009.currentProgress)
            if (theAnim009.currentProgress > 0.5){
                theAnim009.stopAnimation()
                NSLog("end")
            }
        }
    }

//NSAnimation stopAnimation
    @IBAction func function009(sender: AnyObject) {
        //NSAnimationProgress
        var progMarks : [NSAnimationProgress] =  [
            0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5,
            0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0  ]
        var i :Int
        var count :Int = 20
        //アニメーション設定
        theAnim009 = NSAnimation(duration: 10.0, animationCurve: NSAnimationCurve.EaseInOut)
        
        theAnim009.frameRate = 20.0
        theAnim009.delegate = self
        theAnim009.animationBlockingMode = NSAnimationBlockingMode.Blocking
        theAnim009.animationCurve = NSAnimationCurve.EaseInOut
        theAnim009.duration = 5.0
        //登録
        for (i = 0 ; i<count ; i++){
            theAnim009.addProgressMark(progMarks[i])
            NSLog("theAnim006 %f",progMarks[i])
        }
        dispatch_async(dispatch_get_main_queue()) {
            self.theAnim009.startAnimation()
        }
        
    }

編集時バージョン

10.10.3
Swift1.2