在 Xcode Preview 中启用键盘

jsb*_*eJS 6 xcode swiftui

Textfield在 Xcode 预览中点击 a 时如何启用键盘。我以某种方式激活了它并单击了一些键,然后我不小心在我的 Mac 上输入了一个快捷方式,它消失了。

我怎样才能再次启用它?

Mo *_*ani 7

这可能是一个错误,我尝试在几种情况下在调试模式下运行预览,并注意到当点击文本字段时,控制台会抛出有关某些不满足的约束的错误,并且无法访问它们。

我还从 Xcode 的“调试”菜单中启用了“显示视图框架”,键盘框架实际上出现在屏幕上,但由于某种原因没有显示。在极少数情况下,约束错误无缘无故消失,键盘成功显示,但只需重新启动预览就会使其再次消失。所以这可能是一个错误,如果是这样,希望在下一个版本中修复它。


Gwy*_*ind 5

事实证明,此设置(非常巧妙地)与 iOS 模拟器应用程序中的“连接硬件键盘”首选项相关联(在菜单栏中作为I/O \xe2\x86\x92 键盘 \xe2\x86\x92 连接硬件键盘)。键盘只会出现在“实时预览”模式下,并且禁用此设置,并且当预览具有焦点时,Xcode 一旦检测到任何直接键盘输入,就会立即重置该设置(并且模拟器应用程序不会反映此重置,因此要再次执行此操作,您必须切换两次)。更糟糕的是,仅翻转模拟器应用程序中的设置还不够。您必须强制预览完全重新加载它正在使用的底层模拟器。最简单的方法是重新启动 Xcode 或切换到不同的模拟设备(例如从 iPhone 11 切换到 iPhone 12)。您还可以尝试在终端中执行此命令:

\n
xcrun simctl --set ~/Library/Developer/Xcode/UserData/Previews/Simulator\\ Devices shutdown all\n
Run Code Online (Sandbox Code Playgroud)\n

此命令不会影响 iOS 模拟器应用程序中运行的任何模拟器,但导致所有预览停止工作,直到 Xcode 重新启动模拟设备,并可能导致 Xcode 的 UI 暂时表现奇怪(或者至少在我尝试时效果是暂时的)在 Xcode 12.4 中)。

\n

设置生效后,聚焦文本输入字段将导致显示软件键盘区域。该区域响应点击并且所有按键都可以工作,但键盘本身似乎没有渲染。显然这并不是故意的,而且它可能在未来的任何时候停止工作。

\n