앱이 실행을 마칠 때 시트를 모달로 표시하려고합니다. 코드를 일반적인 액션에 배치하고 앱 실행 후 어딘가에 실행하면 원하는대로 작동하고 시트가 멋지게 떨어집니다. 동일한 코드를 사용하여 applicationdidfinishlaunching에 배치하면 시트가 별도의 창으로 표시됩니다 (필요한 것은 아닙니다).모달 시트가 applicationdidfinishlaunching에서 작동하지 않습니까?
[NSApp beginSheet:settingsWindow
modalForWindow:[NSApp keyWindow]
modalDelegate:nil
didEndSelector:nil
contextInfo:nil];
[NSApp runModalForWindow:settingsWindow];
[NSApp endSheet:settingsWindow];
[settingsWindow orderOut:self];
시작시 표시 옵션이 비활성화되어 있습니다. 어떤 제안에도 감사드립니다. 나는 또한 awakefromnib에서 같은 잘못된 결과로 시도했다.
편집 : [self performSelector : @selector (someAction :) withObject : self afterDelay : 0.5]; someAction의 내용이 위와 같은 경우 올바른 결과가 나타납니다. 왜 이런거야?
keyWindow 메서드는 응용 프로그램의 nib 파일이 아직로드를 완료하지 않았거나 수신기가 활성화되지 않은 경우 nil을 반환 할 수 있습니다. –