NSApplication.mainMenu與 2NSMenuItem及以下keyEquivalent:
- ? ? (控制選項卡)
keyEquivalent = String(utf16CodeUnits: [unichar(NSTabCharacter)]
keyEquivalentModifierMask = NSEvent.ModifierFlags.control
- ? ? ? (控制 Shift 選項卡)
keyEquivalent = String(utf16CodeUnits: [unichar(NSTabCharacter)]
keyEquivalentModifierMask = [NSEvent.ModifierFlags.control, NSEvent.ModifierFlags.shift]
NSView除了 aWKWebView和任何其他keyEquivalent組合作業外,它們都可以按預期作業。
顯然選單項沒有收到事件,因為直接單擊該專案也可以按預期作業,即使等效鍵沒有。
如何讓它發揮作用?
uj5u.com熱心網友回復:
看起來像WKWebView攔截? ?并且? ? ?沒有將它們傳遞到NSReponder鏈中,就像其他一些命令一樣。
這些命令使用來自的選擇器NSWindow:
? ?:選擇NextKeyView(_:)? ? ?: selectPreviousKeyView(_:)
解決方案是子類化WKWebView并實作這些選擇器。
例子:
final class WebView: WKWebView {
@objc func selectNextKeyView(_ sender: Any?) {
// implement Control Tab
}
@objc func selectPreviousKeyView(_ sender: Any?) {
// implement Control Shift Tab
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/504429.html
