2013-04-23 20 views
1

我是Cocoa的新手。
我正在扩展一个项目的功能。为什么NSWindow animator setFrame:display:animate:有时无法工作?

该项目的原始功能是打开一个文件,并显示在一个nsbox的文件图标(这是在nswindow?)

,当我点击菜单打开,它工作正常。
但是,当我以编程方式打开文件(使用与菜单调用相同的openfile函数)时,它不显示文件图标。

[[self.window animator] setFrame:frame display:YES animate:YES]; 

该框架是正确的,但它并没有改变。

有什么我错过了吗?

您可以发表评论,以便我可以提供更多的细节。

谢谢大家。

回答

0

哦,我知道现在发生了什么。我真笨。

当我点击按钮,它在主线程上。

但是当我在web请求上调用它时,它不在主线程中。

因此,请确保您在主线程上执行与动画相关的任何操作!

1

setFrame:display:animate是窗口对象而不是动画的选择器。

[self.window setFrame:frame display:YES animate:YES]; 
+0

但是起源项目使用'animator'完美。没有'动画师'它可以工作,但也会失去动画。 – Puttin 2013-05-18 01:23:07

相关问题