ウインドウを再表示させるメニューを追加する
Design Preamble
The user interface of your app is not consistent with the macOS Human Interface Guidelines.
Specifically, we found that when the user closes the main application window there is no menu item to re-open it.
・・・な対策の続き。
やはり、Dockアイコンのクリックでウインドウを再表示させるだけでは心もとないらしいので、素直にメニューに、ウインドウを再表示させる機能を追加することに。
まず、AppDelegateに下記コードを追加。
@IBAction func showAllWindow(_ sender: NSMenuItem){
for window in NSApplication.shared().windows{
window.makeKeyAndOrderFront(self);
}
}
あとは、ストーリーボードで、NSMenuItemで適当なメニューを追加して、上記のActionと関連付けさせればOK。
・・・こんなのでRejectされるなら、デフォルトで対応してくれてれば良いのに。(^^;
ちなみに、Objective-Cの場合は、
AppDelegate.hに、
-(IBAction)showAllWindow:(NSMenuItem *)sender;
を追加し、
AppDelegate.mに、下記を追加。
- (IBAction) showAllWindow:(NSMenuItem *)sender{
for(NSWindow *_window in [[NSApplication sharedApplication] windows]){
[_window makeKeyAndOrderFront:self];
}
}
特定のウインドウのみ表示したい場合は、
下記のような感じでOK。
- (IBAction) showAllWindow:(NSMenuItem *)sender{
[window makeKeyAndOrderFront:self];
}
最初に記事を書いた日:2017/08/27