我如何解决,当我们在xamarin.ios应用程序中的文本字段中输入文字时,键盘会自动关闭

时间:2018-09-18 12:17:09

标签: xamarin xamarin.ios

我们正在使用xamarin.ios应用程序。在这里,我们设计了两种不同的视图,一种是纵向视图,另一种是单视图控制器中的横向视图。两种视图都有一个文本字段。我们正在根据设备方向加载视图。一切都很好,但是当我们开始在文本字段中键入内容时,当我们键入一个非常拳头的字符时,键盘会自动弹出并自动关闭。再次,我们专注于文本字段,出现键盘但按任意字母时不显示。 我注意到的一件事,当我们点击键盘键“ ViewDidLayoutSubviews()”事件调用并重新加载视图时。 您能指导我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

据我所知,当文本字段以消除键盘的方式更新时,可能是在调用事件驱动的函数?如果此假设正确,请确保只将事件添加到文本字段一次。另外,请确保您要呼叫的事件不会在每次按键后更新。一旦用户不再在文本字段中键入内容,则可能需要使用事件textbox.EditingDidEnd运行所需的任何功能。如果可以看到实际的代码,我可以更详细地更新答案。

答案 1 :(得分:0)

我们已经通过使用标志在逻辑上解决了它。当视图首先出现时,我们声明了一个布尔标志isKeyboardAppear = false。当键盘出现时,我们将此标志设置为true,并且我们注意到ViewDidLayoutSubviews()方法在每次按键时都在调用,因此我们编写了这段代码

public override void ViewDidLayoutSubviews() 
{
 base.ViewDidLayoutSubviews(); 
 if (isKeyboardAppear == true) 
 { 
  return; 
 } 
}

当我们手动隐藏键盘时,我们重置标志isKeyboardAppear = false。