0

我想在二级窗口中有一个进度条,它像 NSAlert 窗口一样保持活动状态。我特别喜欢当用户尝试点击它时它播放声音的方式。

我想出了如何通过调用来强制窗口保持活动状态:

[[NSNotificationCenter defaultCenter] addObserver: self
                                         selector: @selector(windowChange:)
                                             name: NSWindowDidBecomeKeyNotification
                                           object: nil];

然后在通知方法中我这样做:

-(void) windowChange:(NSNotification*) notification {
    NSWindow *window = [notification object];
    if (window == myMainWindow) {
        [myProgressWindow makeKeyAndOrderFront:nil];
    }
}

这并不能满足我的所有需求。大多数情况下,我想阻止用户在我的主窗口上按下任何东西并保持我的进度条窗口处于活动状态/前面。

-GW

4

1 回答 1

0

试试这个:

  -(void) windowChange:(NSNotification*) notification 

    {

        NSWindow *window = [notification object];

        if (window == myMainWindow) {

            [myProgressWindow makeKeyAndOrderFront:nil];

            for (NSView *item in [self.myMainWindow.contentView subviews])
            {
                if ([item isKindOfClass:[NSTextField class]] || [item isKindOfClass:[NSButton class]])
                {
                    [(id)item setEnabled:NO];
                }
            }

        }

    }
于 2013-09-26T09:07:15.083 回答