gpt4 book ai didi

ios - 无法在模拟器搜索栏中输入

转载 作者:行者123 更新时间:2023-11-29 13:55:40 25 4
gpt4 key购买 nike

当我使用 iOS 设备进行调试时,我可以在顶部的搜索栏中键入并重新键入(我在我的应用程序中运行一个 webkit 浏览器)。如果我在模拟器中执行此操作,我可以在搜索栏为空时输入它,但是在我搜索了一些东西并且它充满了 URL 之后,我无法重新输入它,因为当我尝试时搜索栏来回移动选择它。

它在实际的 iOS 设备上工作得很好,但在模拟器上它会切换。

它使用基本的 webkit 库:https://en.wikipedia.org/wiki/WebKit

我希望它能像在 iOS 设备上一样工作,如果我切换软件键盘它会工作,但没有它,它不会。

Search bar is inaccessible here

最佳答案

来自修复它的工程师:

其实很奇怪。我不确定此 PR 是否依赖于未记录的行为,但即使发生变化也应该是安全的。这是正在发生的事情。

iOS 应该在键盘显示时触发 UIResponder.keyboardWillShowNotification,在键盘隐藏时触发 UIResponder.keyboardWillHideNotification。对于这两个通知,此代码检索键盘的框架:

让 beginRect = (notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as?NSValue)?.cgRectValue让 endRect = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as?NSValue)?.cgRectValue奇怪的是,在 iOS 模拟器中,如果关闭软件键盘(因此模拟外部键盘),则 UIResponder.keyboardWillShowNotification 永远不会被触发(这是可以理解的)并且 UIResponder.keyboardWillHideNotification 在文本框成为第一响应者(即获得焦点)以及当文本框退出第一响应者时(即失去焦点)。我想基本原理是这些通知是针对软件键盘触发的,并且在这两种情况下键盘都是隐藏的。根据经验,在 iOS 12(和 iPhone X)中:

一个。当文本框成为第一响应者时,beginRect.size.height=0 和 endRect.size.height ~54。 origin.y 都保持在 ~812(屏幕外)。B. 当文本框退出第一响应者时,beginRect.size.height ~54 和 endRect.size.height=0。 origin.y 都保持在 ~812(屏幕外)。

修复是测试 A 并在处理 UIResponder.keyboardWillHideNotification 时忽略它

关于ios - 无法在模拟器搜索栏中输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56284673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com