有没有办法在Cocoa中以某种方式模拟 Cmd +〜快捷方式行为(即在应用程序窗口中循环)?
通过执行以下操作,我能够在Carbon中执行此操作:
HICommand cmd;
cmd.attirbutes = kHICommandFromMenu;
cmd.commandID = kHICommandRotateWindowsForward;
::GetIndMenuItemWithCommandID( NULL, cmd.commandID, 1, &(cmd.menu.menuRef), &(cmd.menu.menuItemIndex));
::ProcessHICommand(&cmd);
但是现在我需要在Cocoa中做这个并且找不到方法:) 用Google搜索“NSApplication中的私有方法_cycleWindows”,这似乎完全符合我的需要,但代码
[[NSApplication sharedApplication] _cycleWindows];
不会编译 - “错误的方法签名”。
答案 0 :(得分:0)
使用_cycleWindows是正确的做法。试试这个:
[NSApp sendAction:@selector(_cycleWindows :) to:nil from:nil];
此外,如果您想模拟Cmd + Shift +〜,请执行:
[NSApp sendAction:@selector(_cycleWindowsBackwards :) to:nil from:nil];