我有一个非常简单的UI,有一个输入电话号码的入口控件和一个按钮。入口控件有一个处理程序,用于删除它周围的边框。当入口控件获得焦点时,键盘弹出。但当我尝试在入口控件之外(如屏幕空白区域)点击时,键盘不会关闭,入口控件也不会失去焦点。此外,由于按钮位于屏幕底部,因此,软键盘将其隐藏,没有办法点击按键,按键只有我按下Android设备后退键才能点击。
目前,我还没有在iOS设备上检查过这种行为。
不过这在Xamarin表单中并不是问题,我在网上搜索了很多,发现它目前是MAUI中的一个bug。
我尝试在父布局控件上附加一个tap手势,并调用特定于平台的代码来隐藏键盘,但似乎该条目没有失去焦点,而且也从未调用tap手势事件。
但是,当我在输入控件外部(如在屏幕上)轻按时,输入控件应该自动失去焦点,软键盘应该自动关闭。
请提供解决方法(如果有)。
1条答案
按热度按时间agxfikkp1#
已知的bug。删除焦点有时会有帮助。有时你需要按顺序执行禁用/启用。(我选择第二个)。
如果您愿意,您可以阅读以下示例:https://github.com/dotnet/maui/issues/12002
(Most令人不安的部分,考虑到这是知道半年以上的错误)
我们可以暂时将这种行为保留在NET 7中,而在NET 8中提供一个API,让用户在iOS和Android中打开/关闭这种行为