2016-01-05 9 views
1
//My code: 

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag 
{ 
    if(flag==NO) 
    { 
     id window; 

     NSWindow *w = window; 

     for(w in theApplication.windows) 
     { if(w==[[theApplication windows]objectAtIndex:0]) 
      { 
       [w makeKeyAndOrderFront:nil]; 
      } 
     } 

    } 
    return YES; 
} 

- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender; 
{ 
    return NO; 
} 
- (BOOL)applicationOpenUntitledFile:(NSApplication *)sender 
{ 

    return NO; 
} 

Проблемы Столкнувшись -вышем код показывает безымянное окно -Ел я удалить [w makeKeyAndOrderFront:nil]; из if состояния, то все окна с безымянным окном отображаются один раз -Использования открытого безымянного метода не останавливая свое окно, чтобы показатьNSWindow вновь показывает несколько раз с доком значка после закрытия

Обязательного иЙ хотят только закрытое окно, чтобы открыть

+0

не ясно, пожалуйста, объясните немного –

+0

Вы можете унаследовать 'NSWindow' и добавить' BOOL' IsClosed – ColdSteel

+0

выше отображается код в App delegate.m - У меня есть 3 окна в моей точки зрения иерархии, так что я хочу окно закрыт пользователем, чтобы открыть снова, когда нажал значок док-станции –

ответ

0

После дополнительного обследования на упомянутом коде я нашел решение, которое выглядит следующим образом

-методов используются надлежащим - Для того, чтобы загрузить тот же экран снова, мы должны найти индекс этого экрана в application.windows array.That может быть сделано с помощью кода:

for (int i; i<[[[NSApplication sharedApplication]windows] count]; i++) 
    { 
     if (yourwindow==[[[NSApplication sharedApplication]windows] objectAtIndex:i]) 
     { 
      NSLog(@"%d",i); 
      //i is your screen index 
     } 
    } 

Теперь загрузить окно с помощью индекс в указанном коде, это также предотвратит показ необозначенного окна

Примечание: индекс поиска окна следует использовать после того, как метод загрузки завершен.

 Смежные вопросы

  • Нет связанных вопросов^_^