をアニメーション: - ウィンドウが消えないココア - 私は特定のボタンをクリックした後、私のNSWindowのをアニメーション化しようとしていますので、私は、関数を書いたNSWindowの
func fadeIn(window: NSWindow, duration: NSTimeInterval) {
var alpha = 0.0 as CGFloat
window.alphaValue = alpha
window.makeKeyAndOrderFront(nil)
let numberOfLoops = Int(duration/0.02)
let alphaChangeInLoop = (CGFloat(1.0)/CGFloat(numberOfLoops))
var loopRun = 0
for _ in 0...numberOfLoops {
loopRun += 1
alpha += alphaChangeInLoop
window.alphaValue = alpha
NSThread.sleepForTimeInterval(0.020)
}
print("Loop was run \(loopRun) times. Ending alpha: \(alpha)")
if alpha != 1.0 {
alpha = 1.0
window.alphaValue = 1.0
print("Alpha set to 1.0")
}
}
それは私のためにOKと思われるが、それはありませんデュレーションフィールドに何を置いたとしても表示されます(したがって、おそらく1.0より下のalphaValueは受け入れられません)。
OSXアプリケーションでalphaValueをアニメーション化することはできますか?私はこのフォーラムを検索していましたが、NSAnimationContextを含むいくつかの方法を見つけましたが、それは私のためには機能しませんでした。
魔法のように働きます。私はこのコードを使ってみましたが、同じコードを持っていましたが、NSWindowの後に ".animator()"を追加するのを忘れました。小さなことが重要です。どうもありがとう! – Ancinek