2011-08-20 17 views
1

我需要爲視圖框架大小添加100px高度的動畫,但我需要窗口與視圖同時長大。同時在可可中設置動畫窗口和視圖框架

我試着用這個代碼:

//resize Window 
    NSRect winsize = [window frame]; 
    winsize.size.height += 100; 
    [self.window setFrame:winsize display:YES animate:YES]; 

    //resize View 
    NSRect viewsize = [myview frame]; 
    viewsize.size.height += 100; 
    [[myview animator] setFrame:viewsize]; 

它的工作原理,但我得到一個醜陋的效果,窗口並查看了在調整大小一些延遲。因此,我得到窗口框架比視圖框架之前調整大小。 如何修改我的代碼以使其同時調整大小?

地址: 我發現這個答案,但它似乎tdoesn't爲我工作: Simultaneously modify window frame and view frame

回答

3

我找到了一個很好的解決方案:使用autoresizingMask到十個分量最小和最大ÿ保證金,並允許高度調整大小。 [myview setAutoresizingMask:NSViewHeightSizable];

+0

當用戶調整窗口大小時,這也會使調整大小的行爲正確。 –

+2

很高興你找到了正確的解決方案。僅供參考您的原始代碼不起作用的原因是因爲setFrame:阻止代碼執行,直到窗口完成調整大小。 –

+0

它對我有用!謝謝 – swdev

相關問題