从父窗口隐藏子窗口隐藏所有应用程序

时间:2010-04-23 15:57:28

标签: cocoa

我有2个窗口,一个是标题[mainWindow](-setMovableByWindowBackground:YES),另一个是内容[secWindow],标题的子标题,标题有一个隐藏内容的按钮。

[mainWindow addChildWindow:secWindow ordered:NSWindowBelow];
[mainWindow setMovableByWindowBackground:YES];

隐藏secWindow的代码:

(IBAction) toggleSecondary: (id) sender;
{
if ([secWindow isVisible]) {
    [secWindow orderOut:self];
} else {        
    [secWindow orderFront:self];
}
}

问题是当按下按钮,所有应用程序隐藏,主窗口和秒窗口,只需要隐藏[secWindow]。

1 个答案:

答案 0 :(得分:4)

Weel,我找到了一个解决方案,我不知道是否有正确的方法,但对我有用。 ^ _ ^

//get the mainWindow cordinates
NSRect theFrame = [mainWindow frame];
NSPoint theOrigin = theFrame.origin;
NSPoint pSecWin = theFrame.origin;
//put secWin below mainWindow
pSecWin.y = theOrigin.y - secHeight;

(IBAction) toggleSecondary: (id) sender;
{
if ([secWindow isVisible]) {
    [mainWindow removeChildWindow:secWindow];
    [secWindow orderOut:self];
} else {  
    [secWindow setFrameOrigin:pSecWin];
    [mainWindow addChildWindow:secWindow ordered:NSWindowBelow];      
    [secWindow orderFront:self];
}
}

就这样,谢谢,无论如何