macOS/iOS API解説

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

目次

timingFunction

INDEX>AppKit> NSAnimationContext

タイミング関数

Objective-C

@property(strong) CAMediaTimingFunction *timingFunction

Swift

var timingFunction: CAMediaTimingFunction?

解説

アニメーションのタイミングを計算する関数


設定値

Objective-C

CAMediaTimingFunction *

Swift

CAMediaTimingFunction?

フレームワーク

NSAnimationContext

クラス

NSAnimationContext

使用可能

10.5

更新時のバージョン

OS X 10.10

関連記事(外部サイト)


[iOS] Core AnimationのCAMediaTimingFunctionでRobert Pennerのイージングを近似 « きんくまデザイン


iphone - How to create custom easing function with Core Animation? - Stack Overflow


CAMediaTimingFunction Class Reference

例文

Objective-C

Swift

//NSAnimationContext completionHandler
    //NSAnimationContext currentContext
    //NSAnimationContext duration
    //NSAnimationContext timingFunction
    @IBAction func function003(sender: AnyObject) {
        var appDelegate = NSApplication.sharedApplication().delegate
        var window : NSWindow = self.view.window!
        
        NSAnimationContext.beginGrouping()
        var nowPosition : NSPoint = window.frame.origin
        var newRect : NSRect = didMoveView ?
            NSMakeRect(nowPosition.x,nowPosition.y, 500.0, 500.0):
            NSMakeRect(nowPosition.x,nowPosition.y, 500.0, 200.0)
        window.animator().setFrame(newRect, display: true)
        window.animator().alphaValue = didMoveView ? 1.0 : 0.5
        NSAnimationContext.currentContext().duration = 10.0
        var timing : CAMediaTimingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseIn)
        NSAnimationContext.currentContext().timingFunction = timing
        NSAnimationContext.currentContext().completionHandler = {NSLog("end!")}
        NSAnimationContext.endGrouping()
        didMoveView = !didMoveView
    }