Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa应用程序中的WKWebView可以';单击鼠标时无法获取光标_Cocoa_Wkwebview_Appkit_Nstextfield_Nsresponder - Fatal编程技术网

Cocoa应用程序中的WKWebView可以';单击鼠标时无法获取光标

Cocoa应用程序中的WKWebView可以';单击鼠标时无法获取光标,cocoa,wkwebview,appkit,nstextfield,nsresponder,Cocoa,Wkwebview,Appkit,Nstextfield,Nsresponder,我创建了一个简单的测试应用程序,其中一个字段是NSTextField,另一个字段是,而不是WKWebView。我可以在web视图中单击一次,但如果返回到NSTextField,我将无法再次将光标返回web视图 下面是一个演示: 正如您所看到的,web视图在某种程度上仍然是交互式的,它不能(我假设)再次成为第一响应者 WKWebView和响应者链有什么奇怪的地方吗?如何使webview像正常的NSTextField一样工作 内置Xcode 11.5,以备您试用 我一直在努力对付这个错误有一段时间

我创建了一个简单的测试应用程序,其中一个字段是
NSTextField
,另一个字段是
,而不是
WKWebView
。我可以在web视图中单击一次,但如果返回到
NSTextField
,我将无法再次将光标返回web视图

下面是一个演示:

正如您所看到的,web视图在某种程度上仍然是交互式的,它不能(我假设)再次成为第一响应者

WKWebView
和响应者链有什么奇怪的地方吗?如何使
webview
像正常的
NSTextField
一样工作

内置Xcode 11.5,以备您试用


我一直在努力对付这个错误有一段时间了。我希望有一个简单的解决方法。:)谢谢

问题似乎与文本区域有关,使用
似乎确实有效

使用textarea的一个解决方法是将WKWebView子类化,如下所示:

- (void)mouseDown:(NSEvent *)event
{
    [super mouseDown:event];
    [[self window] makeFirstResponder:self];
}

body
上设置
contenteditable
属性对我来说不起作用(第二次单击web视图仍然被忽略),但是
WKWebView
子类似乎很有效。非常感谢。