【发布时间】:2013-01-10 15:20:04
【问题描述】:
所以,我有以下代码来显示我的NSWindow:
[_window makeKeyAndOrderFront:self];
[NSAnimationContext beginGrouping];
[[_window animator] setAlphaValue:1.0];
[[_window animator] setFrame:NSMakeRect([[NSApp currentEvent] window].frame.origin.x - 102, [[NSApp currentEvent] window].frame.origin.y - 238, _window.frame.size.width, _window.frame.size.height) display:YES];
[NSAnimationContext endGrouping];
此代码在用户单击应用程序的状态栏图标后立即调用,这就是我使用[[NSApp currentEvent] window].frame.origin.y/x 获取状态栏图标位置的原因。
此代码运行完美,但有时它非常滞后且“跳跃”,我不知道为什么。
关于这个以及如何解决它的任何想法?
【问题讨论】:
-
我会检查当您单击时此代码被访问了多少次。如果您在同一对象的同一属性上同时播放两个动画,则它们可能会相互干扰。
标签: objective-c macos cocoa animation nswindow