🤖
WebView内でCommand+aなどが効かない
素のWebViewを使うと、テキストフィールド内でのCommand+aなどが効かないらしい。
なので、WebViewを継承して、Command+aなどをハンドリングできるようにしたクラスを利用する。
import Cocoa
import WebKit
class MyWebView: WebView {
override func performKeyEquivalent(theEvent: NSEvent) -> Bool {
if let string = theEvent.characters {
switch string {
case "a":
selectAll(self)
case "c":
copy(self)
case "v":
paste(self)
case "x":
cut(self)
default:
return super.performKeyEquivalent(theEvent)
}
return true
}
return super.performKeyEquivalent(theEvent)
}
}
Discussion