子窗口放在主窗口的中间

如何将子窗口放在主窗口的中间,覆盖主窗口


    NSRect mainFrame = ((AppDelegate *)[NSApp delegate]).mainWindowController.window.frame;
    NSRect myFrame = [self.window frame];
    
    NSPoint newOriginPoint;
    
    if (mainFrame.size.width > myFrame.size.width
        && mainFrame.size.height > myFrame.size.height) {
        newOriginPoint.x = (mainFrame.size.width - myFrame.size.width) / 2 + mainFrame.origin.x;
        newOriginPoint.y = (mainFrame.size.height - myFrame.size.height) / 2 + mainFrame.origin.y;
    } else {
        newOriginPoint.x = mainFrame.origin.x;
        newOriginPoint.y = mainFrame.origin.y;
    }

    
    [self.window setFrameOrigin:newOriginPoint];

   







猜你喜欢

转载自blog.csdn.net/lcxhjg/article/details/81055388