我有以下代碼塊。可可 - 使用setFrame動畫NSWindow
NSRect windowFrame = [window frame];
windowFrame.size.height = [view frame].size.height + WINDOW_TOOLBAR_HEIGHT;
windowFrame.size.width = [view frame].size.width;
windowFrame.origin.y = NSMaxY([window frame]) - ([view frame].size.height + WINDOW_TOOLBAR_HEIGHT);
if ([[contentView subviews] count] != 0)
{
[[[contentView subviews] objectAtIndex:0] removeFromSuperview];
}
[window setFrame:windowFrame display:YES animate:YES];
[contentView setFrame:[view frame]];
[contentView addSubview:view];
它將幀切換到新的視圖,但我從來沒有收縮/增長的動畫。如果我的[窗口]之前把這個
NSLog([NSString stringWithFormat: @"%.2f", windowFrame.size.height]);
我得到不同的尺寸..這裏是輸出
2011-09-07 14:13:02.418 Spark[29919:903] 492.00
2011-09-07 14:13:03.610 Spark[29919:903] 580.00
2011-09-07 14:13:05.955 Spark[29919:903] 492.00
2011-09-07 14:13:08.339 Spark[29919:903] 255.00
不知道我錯過了什麼。
謝謝!
編輯
我添加了一個簡單的項目,看看我的問題
http://dl.dropbox.com/u/13731121/Spark.zip
感謝代碼清理了一噸,也是您的答案 – Mike
@ eimantes ...您的鏈接已損壞。張貼東西永久的地方,所以不會發生! –
@alexgray對於斷開的鏈接感到抱歉。現在已經修復了。 – Eimantas