Закрыть окно с дочерним окном и снова открыть его с помощью Alt Tab работает некорректно

#cocoa

#cocoa

Вопрос:

Я создал окно, которое содержит дочернее окно. После того, как я закрываю главное окно с помощью Cmd W (таким образом, теряя статус главного / ключевого окна) всякий раз, когда я пытаюсь снова открыть его с помощью Cmd Tab , отображается только дочернее окно… не основное.

Команда Cmd W привязывается к первому ответчику -> performClose: как обычно … и дочернее окно добавляется в главное окно с:

 [window addChildWindow:childWindow ordered:NSWindowAbove];
  

Почему дочернее окно все еще видно после Alt Tab ?

—Редактировать: я создаю эту функцию, которая, кажется, решает мою ситуацию.. но я не уверен, что это правильный способ:

 -(IBAction)closeWindows:(id)sender{ 

    [[self window]close];
    NSArray *childWin = [[self window]childWindows];
    for(NSWindow *win in childWin){ 
        [win close];
    }
}
  

Комментарии:

1. На данный момент я пишу функцию для закрытия всех окон … я редактирую свой вопрос, добавляя его.

Ответ №1:

У меня эта функция работает:

 -(IBAction)closeWindows:(id)sender{ 

    [[self window]close];
    NSArray *childWin = [[self window]childWindows];
    for(NSWindow *win in childWin){ 
        [win close];
    }
}